/* Sueth CX Forge V3.11.0 — Design System & UX/UI Rebuild Foundation
 * Loaded after styles.css. This file is the visual contract for every authenticated module.
 */

:root {
  --forge-color-bg: #071126;
  --forge-color-bg-elevated: #09172f;
  --forge-color-surface: #0b1833;
  --forge-color-surface-raised: #102149;
  --forge-color-surface-strong: #152550;
  --forge-color-border: #29416f;
  --forge-color-border-soft: #20365f;
  --forge-color-text: #f9f8f5;
  --forge-color-text-muted: #a8b6d2;
  --forge-color-text-subtle: #8293b6;
  --forge-color-primary: #ff451a;
  --forge-color-primary-hover: #ff603d;
  --forge-color-information: #5b7cfa;
  --forge-color-success: #37b48a;
  --forge-color-warning: #ffb020;
  --forge-color-danger: #ff6b6b;
  --forge-focus-ring: #8fa7ff;
  --forge-focus-outline-width: 3px;
  --forge-focus-offset: 3px;

  --forge-space-1: 4px;
  --forge-space-2: 8px;
  --forge-space-3: 12px;
  --forge-space-4: 16px;
  --forge-space-5: 20px;
  --forge-space-6: 24px;
  --forge-space-8: 32px;
  --forge-space-10: 40px;

  --forge-radius-sm: 8px;
  --forge-radius-md: 12px;
  --forge-radius-lg: 16px;
  --forge-radius-xl: 20px;
  --forge-control-height: 42px;
  --forge-touch-target: 44px;
  --forge-page-max: 1760px;
  --forge-shadow-sm: 0 8px 20px rgba(0, 0, 0, .16);
  --forge-shadow-md: 0 16px 38px rgba(0, 0, 0, .24);
  --forge-shadow-lg: 0 28px 70px rgba(0, 0, 0, .34);
  --forge-transition-fast: 140ms ease;
}

html { scroll-padding-top: 96px; }
body.dashboard-page {
  min-width: 320px;
  overflow-x: hidden;
  color: var(--forge-color-text);
  background:
    radial-gradient(circle at 12% -8%, rgba(42, 66, 156, .30), transparent 34rem),
    radial-gradient(circle at 92% 0%, rgba(255, 69, 26, .08), transparent 24rem),
    linear-gradient(180deg, var(--forge-color-bg), #09152d 62%, var(--forge-color-bg));
}
body.dashboard-page main { min-width: 0; }
body.dashboard-page h1,
body.dashboard-page h2,
body.dashboard-page h3 { color: var(--forge-color-text); text-wrap: balance; }
body.dashboard-page p { color: var(--forge-color-text-muted); }

/* Keyboard navigation and WCAG-oriented focus treatment. */
body.dashboard-page :is(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: var(--forge-focus-outline-width) solid color-mix(in srgb, var(--forge-focus-ring) 72%, transparent);
  outline-offset: var(--forge-focus-offset);
}
.skip-link {
  position: fixed;
  top: var(--forge-space-3);
  left: var(--forge-space-3);
  z-index: 9999;
  transform: translateY(-180%);
  padding: 10px 14px;
  border: 2px solid var(--forge-focus-ring);
  border-radius: var(--forge-radius-sm);
  background: var(--forge-color-surface-strong);
  color: #fff;
  font-weight: 800;
  text-decoration: none;
  transition: transform var(--forge-transition-fast);
}
.skip-link:focus { transform: translateY(0); }

/* Authorized module-link baseline; launcher owns the authenticated shell. */


body.dashboard-page .module-link {
  min-height: 40px;
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 13px;
  border-bottom: 3px solid transparent;
  border-radius: 7px;
  color: #c7d2eb;
  font-size: .82rem;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
  transition: color var(--forge-transition-fast), background var(--forge-transition-fast), border-color var(--forge-transition-fast);
}
body.dashboard-page .module-link:hover { background: rgba(255,255,255,.06); color: #fff; }
body.dashboard-page .module-link.active,
body.dashboard-page .module-link[aria-current="page"] {
  border-bottom-color: var(--forge-color-primary);
  background: rgba(255,69,26,.10);
  color: #fff;
}

body.dashboard-page .session-summary span{ color: var(--forge-color-text-muted); }

/* Surfaces. */
body.dashboard-page :is(.panel, .card) {
  border: 1px solid var(--forge-color-border-soft);
  border-radius: var(--forge-radius-lg);
  background: linear-gradient(150deg, rgba(15,31,66,.96), rgba(8,20,44,.98));
  color: var(--forge-color-text);
  box-shadow: var(--forge-shadow-sm);
}
body.dashboard-page .card { padding: var(--forge-space-5); }
body.dashboard-page :is(.panel-heading, .section-heading, .analytics-workspace-header, .analytics-view-header) {
  min-width: 0;
}
body.dashboard-page .section-heading > *,
body.dashboard-page .panel-heading > * { min-width: 0; }

/* Controls: one hierarchy everywhere. */
body.dashboard-page :is(button, .button) {
  width: auto;
  min-height: var(--forge-control-height);
  border-radius: 9px;
  font-weight: 750;
  transition: transform var(--forge-transition-fast), filter var(--forge-transition-fast), border-color var(--forge-transition-fast), background var(--forge-transition-fast);
}
body.dashboard-page :is(button, .button):not(:disabled):active { transform: translateY(1px); }
body.dashboard-page .button,
body.dashboard-page .button.primary {
  border: 1px solid #d93812;
  background: linear-gradient(135deg, var(--forge-color-primary), #d82f09);
  color: #fff;
  box-shadow: 0 6px 16px rgba(255,69,26,.14);
}
body.dashboard-page .button.secondary {
  border: 1px solid #39568a;
  background: var(--forge-color-surface-raised);
  color: #e8eeff;
  box-shadow: none;
}
body.dashboard-page .button.ghost {
  border: 1px solid #365486;
  background: transparent;
  color: #dce5f8;
  box-shadow: none;
}
body.dashboard-page .button.danger {
  border: 1px solid #7c3747;
  background: #371b29;
  color: #ffb1bd;
  box-shadow: none;
}
body.dashboard-page :is(.button.secondary, .button.ghost):hover:not(:disabled) { border-color: var(--forge-color-information); background: #172f66; color: #fff; }
body.dashboard-page .button.danger:hover:not(:disabled) { border-color: #b64c60; background: #4a2032; }
body.dashboard-page :is(.button.compact, .button.small) { width: auto; min-height: 38px; padding: 8px 12px; }
body.dashboard-page .icon-button { min-width: 38px; min-height: 38px; border-color: #365486; background: var(--forge-color-surface-raised); color: #fff; box-shadow: none; }

/* Forms and readable labels. */
body.dashboard-page :is(input, select, textarea) {
  min-width: 0;
  min-height: var(--forge-control-height);
  border: 1px solid #365486;
  border-radius: 9px;
  background: #08152d;
  color: var(--forge-color-text);
}
body.dashboard-page textarea { min-height: 92px; resize: vertical; }
body.dashboard-page :is(input, textarea)::placeholder { color: #7c8daf; opacity: 1; }
body.dashboard-page label { color: #d7e0f2; }
body.dashboard-page :is(.field-help, small, .meta) { color: var(--forge-color-text-subtle); }
body.dashboard-page input[type="checkbox"],
body.dashboard-page input[type="radio"] { min-height: auto; accent-color: var(--forge-color-information); }

/* Common command/action rows must wrap instead of overlapping. */
body.dashboard-page :is(
  .workspace-actions,
  .toolbar-actions,
  .saved-view-controls,
  .drawer-header-actions,
  .schema-dialog-footer-actions,
  .analytics-title-actions,
  .analytics-refresh-group,
  .analytics-filter-actions,
  .sql-view-library-actions,
  .sql-view-actions
) {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--forge-space-2);
}

/* Tables: preserve data density while making narrow screens usable. */
body.dashboard-page :is(.table-scroll, .interaction-grid-wrapper, .parity-table-wrapper, .analytics-table-wrapper, .detail-table-wrapper, .attribute-preview-table-wrap) {
  width: 100%;
  max-width: 100%;
  overflow: auto;
  overscroll-behavior-inline: contain;
  scrollbar-width: thin;
  -webkit-overflow-scrolling: touch;
  border-radius: var(--forge-radius-md);
}
body.dashboard-page .table-scroll:focus-visible,
body.dashboard-page .interaction-grid-wrapper:focus-visible,
body.dashboard-page .parity-table-wrapper:focus-visible { outline-offset: -2px; }
body.dashboard-page :is(.table-scroll table, .analytics-data-table, .parity-table, .interaction-grid, .detail-table) {
  border-collapse: collapse;
}
body.dashboard-page :is(.table-scroll th, .analytics-data-table th, .parity-table th, .interaction-grid th, .detail-table th) {
  position: sticky;
  top: 0;
  z-index: 2;
  background: var(--forge-color-surface-raised);
  color: #c3cee5;
  font-weight: 750;
}
body.dashboard-page :is(.table-scroll td, .table-scroll th, .analytics-data-table td, .analytics-data-table th, .parity-table td, .parity-table th) { vertical-align: top; }

/* Dialogs/drawers. */
body.dashboard-page dialog {
  max-width: min(1180px, calc(100vw - 32px));
  max-height: min(900px, calc(100dvh - 32px));
  border: 1px solid var(--forge-color-border);
  border-radius: var(--forge-radius-lg);
  background: var(--forge-color-bg-elevated);
  color: var(--forge-color-text);
  box-shadow: var(--forge-shadow-lg);
}
body.dashboard-page dialog::backdrop { background: rgba(3, 7, 18, .78); backdrop-filter: blur(3px); }
body.dashboard-page :is(.schema-dialog-form, .columns-form) { max-height: calc(100dvh - 42px); overflow: auto; }
body.dashboard-page :is(.schema-dialog-header, .schema-dialog-footer, .drawer-header) { background: rgba(11,24,51,.98); }

/* Status, empty and loading states. */
body.dashboard-page :is(.loading-block, .loading-line, .analytics-loading) {
  border-color: #35538a;
  background: rgba(91,124,250,.07);
  color: #bdc9e3;
}
body.dashboard-page :is(.empty-state, .empty-message, .empty-table) { color: var(--forge-color-text-muted); }
body.dashboard-page .status-line,
body.dashboard-page .status { overflow-wrap: anywhere; }
body.dashboard-page .live-badge,
body.dashboard-page .storage-badge,
body.dashboard-page .database-source-pill { white-space: nowrap; }

/* Layout normalization. */
body.dashboard-page :is(.operations-shell, .governance-shell, .parity-workspace, .interactions-workspace, .analytics-layout, .vault-layout) {
  width: min(100%, var(--forge-page-max));
  margin-inline: auto;
}
body.dashboard-page .operations-shell { padding: clamp(12px, 2vw, 24px); }
body.dashboard-page .analytics-layout,
body.dashboard-page .vault-layout { padding: clamp(10px, 1.6vw, 20px); }
body.dashboard-page .analytics-workspace-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: var(--forge-space-4);
}
body.dashboard-page .analytics-workspace-header > div { min-width: 0; }
body.dashboard-page .analytics-workspace-header h2 { margin-bottom: 4px; }
body.dashboard-page .operations-tabs,
body.dashboard-page .content-tabs,
body.dashboard-page .detail-tabs,
body.dashboard-page .date-preset-strip {
  max-width: 100%;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scrollbar-width: thin;
}
body.dashboard-page :is(.operations-tabs .content-tab, .content-tabs .content-tab, .detail-tabs .detail-tab, .date-preset-strip .date-preset) { flex: 0 0 auto; }

/* Cards that should stretch but never overflow. */
body.dashboard-page :is(.kpi-card, .health-card, .analytics-widget-card, .insight-panel, .attribute-config-card, .smart-suggestion-card) { min-width: 0; }
body.dashboard-page .kpi-card strong { overflow-wrap: anywhere; }
body.dashboard-page .operations-kpis { grid-template-columns: repeat(auto-fit, minmax(175px, 1fr)); }
body.dashboard-page .operations-kpis.compact { grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); }

/* Responsive breakpoints. */
@media (max-width: 1180px) {
  
  
  
  body.dashboard-page .metadata-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
  
  
  
  
  

  body.dashboard-page .vault-layout,
  body.dashboard-page .analytics-layout { grid-template-columns: 1fr !important; }
  body.dashboard-page :is(.catalog-panel, .analytics-sidebar) {
    position: static;
    top: auto;
    max-height: none;
  }
  body.dashboard-page .analytics-workspace-header,
  body.dashboard-page .section-heading { align-items: stretch; flex-direction: column; }
  body.dashboard-page .section-heading > :is(input[type="search"], select) { width: 100%; min-width: 0; }
  body.dashboard-page .analytics-filter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.dashboard-page .attribute-interpretation-layout,
  body.dashboard-page .sql-view-template-list { grid-template-columns: 1fr; }
  body.dashboard-page .attribute-config-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
  :root { --forge-control-height: 44px; }
  
  
  
  body.dashboard-page .module-link { min-height: var(--forge-touch-target); padding-inline: 12px; }
  body.dashboard-page :is(button, .button, .icon-button) { min-height: var(--forge-touch-target); }
  body.dashboard-page .icon-button { min-width: var(--forge-touch-target); }
  body.dashboard-page :is(.button.compact, .button.small) { min-height: var(--forge-touch-target); }

  body.dashboard-page .session-summary { text-align: left; }
  body.dashboard-page .live-badge { order: 3; }
  body.dashboard-page .experience-profile-control { width: min(100%, 220px); }
  body.dashboard-page .experience-profile-control select { width: 100%; }

  body.dashboard-page .analytics-filter-grid,
  body.dashboard-page .widget-builder-grid,
  body.dashboard-page .guided-template-grid,
  body.dashboard-page .metadata-grid,
  body.dashboard-page .schema-fields-editor-row,
  body.dashboard-page .attribute-parser-options,
  body.dashboard-page .attribute-config-list,
  body.dashboard-page .sql-view-template-parameters { grid-template-columns: 1fr !important; }

  body.dashboard-page :is(.workspace-actions, .toolbar-actions, .saved-view-controls, .analytics-title-actions, .analytics-refresh-group, .analytics-filter-actions) {
    width: 100%;
    align-items: stretch;
  }
  body.dashboard-page :is(.workspace-actions, .toolbar-actions, .analytics-title-actions, .analytics-refresh-group) .button { flex: 1 1 150px; }
  body.dashboard-page .search-form { align-items: stretch; flex-direction: column; }
  body.dashboard-page .search-form .button { width: 100%; }
  body.dashboard-page .rows-toolbar { align-items: stretch; flex-direction: column; }

  body.dashboard-page .analytics-widget-card.widget-kpi { grid-column: span 12; }
  body.dashboard-page .analytics-doughnut-layout,
  body.dashboard-page .analytics-pie-layout { grid-template-columns: 1fr; }
  body.dashboard-page .governance-bar-row { grid-template-columns: minmax(92px, 120px) minmax(110px, 1fr) 42px; gap: 8px; }

  body.dashboard-page dialog {
    width: calc(100vw - 16px) !important;
    max-width: calc(100vw - 16px) !important;
    max-height: calc(100dvh - 16px);
    margin: 8px;
    border-radius: var(--forge-radius-md);
  }
  body.dashboard-page :is(.schema-dialog-header, .schema-dialog-footer) { padding-inline: 12px; }
  body.dashboard-page .schema-dialog-footer { align-items: stretch; flex-direction: column; }
  body.dashboard-page .schema-dialog-footer-actions { width: 100%; }
  body.dashboard-page .schema-dialog-footer-actions .button { flex: 1; }
}

@media (max-width: 420px) {
  
  body.dashboard-page :is(.operations-shell, .interactions-workspace, .parity-workspace, .analytics-layout, .vault-layout) { padding-inline: 8px; }
  body.dashboard-page .card { padding: 14px; }
  
  body.dashboard-page .operations-kpis,
  body.dashboard-page .operations-kpis.compact { grid-template-columns: 1fr; }
  body.dashboard-page .analytics-chart-svg { min-width: 390px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
  }
}

@media (prefers-contrast: more) {
  :root {
    --forge-color-border: #5d77aa;
    --forge-color-border-soft: #4a6599;
    --forge-color-text-muted: #d0d9eb;
  }
  
}

/* SweetAlert2 · Forge visual integration */
body.dashboard-page .swal2-popup.forge-swal {
  border: 1px solid var(--forge-color-border);
  border-radius: 18px;
  background: var(--forge-color-surface);
  box-shadow: 0 28px 80px rgb(0 0 0 / 42%);
}
body.dashboard-page .forge-swal-title { color: var(--forge-color-text); }
body.dashboard-page .forge-swal-text { color: var(--forge-color-text-muted); }
body.dashboard-page .forge-swal-confirm,
body.dashboard-page .forge-swal-cancel {
  min-height: var(--forge-control-height);
  border-radius: 10px;
  padding: 0 18px;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}
body.dashboard-page .forge-swal-confirm {
  border: 1px solid transparent;
  background: linear-gradient(135deg, var(--forge-color-primary), #d82f09);
  color: #fff;
}
body.dashboard-page .forge-swal-confirm:hover { background: var(--forge-color-primary-hover); }
body.dashboard-page .forge-swal-cancel {
  border: 1px solid var(--forge-color-border);
  background: var(--forge-color-surface-raised);
  color: var(--forge-color-text);
  margin-right: 10px;
}
body.dashboard-page .forge-swal-cancel:hover { border-color: var(--forge-color-information); background: #172f66; }
body.dashboard-page .forge-swal-confirm:focus-visible,
body.dashboard-page .forge-swal-cancel:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--forge-color-information) 70%, white);
  outline-offset: 3px;
}

/* ==========================================================================\n * V3.8.2 — Visual Consistency\n * Shared visual states across Data Tables, Interactions, Analytics,\n * Operations, Governance, Architect and Parity.\n * ========================================================================== */

:root {
  --forge-state-info-bg: rgba(91, 124, 250, .10);
  --forge-state-info-border: rgba(91, 124, 250, .42);
  --forge-state-success-bg: rgba(55, 180, 138, .10);
  --forge-state-success-border: rgba(55, 180, 138, .42);
  --forge-state-warning-bg: rgba(255, 176, 32, .10);
  --forge-state-warning-border: rgba(255, 176, 32, .46);
  --forge-state-danger-bg: rgba(255, 107, 107, .10);
  --forge-state-danger-border: rgba(255, 107, 107, .44);
}

body.dashboard-page :is(.panel, .card, .operations-panel) {
  transition: border-color var(--forge-transition-fast), box-shadow var(--forge-transition-fast), background var(--forge-transition-fast);
}

body.dashboard-page :is(.panel-heading, .section-heading) {
  gap: var(--forge-space-4);
}

body.dashboard-page :is(.panel-heading h2, .panel-heading h3, .section-heading h2, .section-heading h3) {
  margin-block: 0 4px;
  line-height: 1.22;
}

body.dashboard-page :is(.panel-heading .eyebrow, .section-heading .eyebrow) {
  margin-bottom: 4px;
}

body.dashboard-page :is(button, .button, .icon-button):disabled,
body.dashboard-page :is(button, .button, .icon-button)[aria-disabled="true"] {
  opacity: .52;
  cursor: not-allowed;
  box-shadow: none;
  filter: saturate(.55);
  transform: none;
}

body.dashboard-page :is(input, select, textarea):disabled {
  opacity: .64;
  cursor: not-allowed;
  background: rgba(8, 21, 45, .72);
}

body.dashboard-page :is(input, select, textarea):focus {
  border-color: var(--forge-color-information);
  box-shadow: 0 0 0 3px rgba(91, 124, 250, .14);
}

/* Uniform status callouts. Empty live regions remain visually silent. */
body.dashboard-page :is(.status, .status-line):empty {
  display: none;
}

body.dashboard-page :is(.status, .status-line):not(:empty) {
  display: block;
  margin-block: var(--forge-space-3);
  padding: 10px 12px;
  border: 1px solid var(--forge-state-info-border);
  border-radius: var(--forge-radius-sm);
  background: var(--forge-state-info-bg);
  color: #cad5ff;
  line-height: 1.45;
}

body.dashboard-page :is(.status, .status-line).success {
  border-color: var(--forge-state-success-border);
  background: var(--forge-state-success-bg);
  color: #a9efd7;
}

body.dashboard-page :is(.status, .status-line).warning {
  border-color: var(--forge-state-warning-border);
  background: var(--forge-state-warning-bg);
  color: #ffe0a0;
}

body.dashboard-page :is(.status, .status-line).error,
body.dashboard-page :is(.status, .status-line).danger {
  border-color: var(--forge-state-danger-border);
  background: var(--forge-state-danger-bg);
  color: #ffc0c0;
}

/* Shared loading treatment. */
@keyframes forge-spin { to { transform: rotate(360deg); } }
body.dashboard-page :is(.loading-block, .loading-line, .analytics-loading):not([hidden]) {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 46px;
  padding: 11px 13px;
  border: 1px solid var(--forge-state-info-border);
  border-radius: var(--forge-radius-sm);
}
body.dashboard-page :is(.loading-block, .loading-line, .analytics-loading):not([hidden])::before {
  content: "";
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
  border: 2px solid rgba(202, 213, 255, .30);
  border-top-color: #cad5ff;
  border-radius: 999px;
  animation: forge-spin .8s linear infinite;
}

/* Empty states should look intentional rather than like missing content. */
body.dashboard-page :is(.empty-state, .empty-message, .empty-table) {
  border: 1px dashed rgba(126, 148, 191, .30);
  border-radius: var(--forge-radius-md);
  background: rgba(8, 21, 45, .42);
}
body.dashboard-page .empty-state {
  padding: clamp(24px, 5vw, 54px) clamp(16px, 4vw, 36px);
}
body.dashboard-page :is(.empty-message, .empty-table) {
  padding: 24px 16px;
  text-align: center;
}

/* Dense grids keep the same interaction language everywhere. */
body.dashboard-page :is(.data-grid-wrapper, .table-scroll, .interaction-grid-wrapper, .parity-table-wrapper, .analytics-table-wrapper) {
  border: 1px solid rgba(41, 65, 111, .76);
  background: rgba(7, 17, 38, .38);
}
body.dashboard-page :is(.data-grid tbody tr, .table-scroll tbody tr, .interaction-grid tbody tr, .parity-table tbody tr) {
  transition: background var(--forge-transition-fast);
}
body.dashboard-page :is(.data-grid tbody tr:hover td, .table-scroll tbody tr:hover td, .interaction-grid tbody tr:hover td, .parity-table tbody tr:hover td) {
  background: rgba(91, 124, 250, .075);
}

/* Pagination and secondary toolbars share alignment and wrapping rules. */
body.dashboard-page :is(.pagination, .rows-footer, .rows-toolbar, .catalog-options) {
  gap: var(--forge-space-2);
}
body.dashboard-page .pagination {
  align-items: center;
  flex-wrap: wrap;
}

/* SweetAlert destructive action follows the Forge danger hierarchy. */
body.dashboard-page .forge-swal-confirm.is-danger {
  border-color: #8c3345;
  background: linear-gradient(135deg, #a83e50, #762739);
  color: #fff;
}
body.dashboard-page .forge-swal-confirm.is-danger:hover {
  background: linear-gradient(135deg, #bc4a5d, #8a3044);
}
body.dashboard-page .swal2-loader {
  border-color: var(--forge-color-information) transparent var(--forge-color-information) transparent !important;
}

@media (max-width: 640px) {
  body.dashboard-page :is(.status, .status-line):not(:empty) { padding: 10px; }
  body.dashboard-page :is(.empty-message, .empty-table) { padding: 20px 12px; }
  body.dashboard-page .pagination > .button { flex: 1 1 120px; }
}

/* V3.8.3 — UX Functional Hardening */
.button.is-busy,
button[aria-busy="true"] {
  cursor: progress;
  position: relative;
  opacity: .82;
}

.button.is-busy::before,
button[aria-busy="true"]::before {
  content: "";
  width: .85em;
  height: .85em;
  display: inline-block;
  margin-right: .5rem;
  border: 2px solid currentColor;
  border-right-color: transparent;
  border-radius: 999px;
  vertical-align: -.08em;
  animation: forge-spin .72s linear infinite;
}

[aria-busy="true"].panel,
[aria-busy="true"].card,
.is-loading.panel,
.is-loading.card {
  cursor: progress;
}

.status.error[data-request-id]::after,
.status-line.error[data-request-id]::after {
  content: " · Ref. " attr(data-request-id);
  opacity: .78;
  font-size: .9em;
}

/* V3.8.8 — Session expiration guard. Keep stale authenticated content non-interactive
   while the re-authentication dialog is active. */
html[data-session-state="expired"] body > :not(.swal2-container) {
  filter: blur(5px);
  pointer-events: none !important;
  user-select: none;
}

/* V3.9.1 — platform organization context */
.organization-context-switcher {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  margin-inline-start: .65rem;
  font-size: .75rem;
  color: var(--forge-color-text-muted, #a9b6cc);
}
.organization-context-caption { white-space: nowrap; }
.organization-context-select {
  min-width: 10rem;
  max-width: 18rem;
  border: 1px solid var(--forge-color-border, #26395b);
  border-radius: .55rem;
  background: var(--forge-color-surface-soft, #101f3d);
  color: var(--forge-color-text, #f9f8f5);
  padding: .38rem .55rem;
  font: inherit;
}
.organization-context-select:focus-visible {
  outline: 2px solid var(--forge-color-primary, #65a7ff);
  outline-offset: 2px;
}
@media (max-width: 768px) {
  .organization-context-switcher { width: 100%; margin: .45rem 0 0; flex-wrap: wrap; }
  .organization-context-select { width: 100%; max-width: none; }
}

/* V3.9.1 — Access administration */
.access-admin-page { display: grid; gap: 1rem; }
.access-hero { display: flex; justify-content: space-between; align-items: end; gap: 1.25rem; }
.access-hero > div:first-child { max-width: 58rem; }
.access-org-field { min-width: min(22rem, 100%); }
.access-summary-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .8rem; }
.access-summary-grid .summary-card { display: grid; gap: .25rem; padding: 1rem; border: 1px solid var(--forge-color-border, #26395b); border-radius: .85rem; background: var(--forge-color-surface, #0b1833); }
.access-summary-grid .summary-label { color: var(--forge-color-text-muted, #a9b6cc); font-size: .78rem; text-transform: uppercase; letter-spacing: .06em; }
.access-summary-grid strong { font-size: 1.25rem; }
.access-feature-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.access-feature-card { display: grid; gap: .9rem; padding: 1rem; border: 1px solid var(--forge-color-border, #26395b); border-radius: .85rem; background: var(--forge-color-surface-soft, #101f3d); }
.access-feature-header { display: flex; justify-content: space-between; align-items: start; gap: 1rem; }
.access-feature-header h3 { margin: 0 0 .3rem; }
.access-feature-header p { margin: 0; color: var(--forge-color-text-muted, #a9b6cc); font-size: .88rem; }
.access-feature-toggle, .access-check { display: inline-flex; align-items: center; gap: .45rem; }
.access-feature-toggle { white-space: nowrap; font-weight: 700; }
.access-feature-section { display: grid; gap: .45rem; }
.access-profile-checks { display: flex; flex-wrap: wrap; gap: .45rem .8rem; }
.access-check { font-size: .84rem; }
.access-feature-footer { display: flex; align-items: center; gap: .65rem; }
.access-feature-footer input { flex: 1; }
.access-assignment-form { display: grid; grid-template-columns: .7fr 1.4fr 1fr 1.3fr auto; gap: .7rem; align-items: end; margin-bottom: 1rem; }
.access-help { margin-top: -.25rem; }
@media (max-width: 1100px) {
  .access-feature-grid { grid-template-columns: 1fr; }
  .access-assignment-form { grid-template-columns: 1fr 1fr; }
  .access-assignment-form .access-notes { grid-column: 1 / -1; }
}
@media (max-width: 720px) {
  .access-hero { align-items: stretch; flex-direction: column; }
  .access-summary-grid { grid-template-columns: 1fr; }
  .access-assignment-form { grid-template-columns: 1fr; }
  .access-feature-header, .access-feature-footer { flex-direction: column; align-items: stretch; }
}

/* V3.9.2 — Access Management UX */
.access-context-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: .9rem;
  padding: .9rem 1rem;
}
.access-context-card p { margin: .2rem 0 0; }
.access-context-card.is-live { border-color: color-mix(in srgb, var(--forge-color-success, #67d99a) 45%, var(--forge-color-border, #26395b)); }
.access-context-card.is-readonly { border-color: color-mix(in srgb, var(--forge-color-warning, #f5c86b) 45%, var(--forge-color-border, #26395b)); }
.access-context-icon {
  display: grid;
  place-items: center;
  width: 2.6rem;
  height: 2.6rem;
  border-radius: .8rem;
  border: 1px solid var(--forge-color-border, #26395b);
  background: var(--forge-color-surface-soft, #101f3d);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .06em;
}
.access-summary-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.access-tabs { overflow-x: auto; }
.access-genesys-guard {
  display: grid;
  gap: .75rem;
  padding: .85rem;
  border: 1px solid color-mix(in srgb, var(--forge-color-border, #26395b) 80%, transparent);
  border-radius: .75rem;
  background: color-mix(in srgb, var(--forge-color-surface, #0b1833) 68%, transparent);
}
.access-guard-heading { display: flex; align-items: center; justify-content: space-between; gap: .8rem; }
.access-guard-heading span { color: var(--forge-color-text-muted, #a9b6cc); font-size: .76rem; }
.access-tag-editor { position: relative; display: grid; gap: .45rem; }
.access-chip-list { display: flex; flex-wrap: wrap; gap: .4rem; min-height: 1.8rem; align-items: center; }
.access-chip {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  max-width: 100%;
  padding: .28rem .4rem .28rem .55rem;
  border: 1px solid var(--forge-color-border, #26395b);
  border-radius: 999px;
  background: var(--forge-color-surface-soft, #101f3d);
  font-size: .78rem;
}
.access-chip > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.access-chip-remove {
  width: 1.35rem;
  height: 1.35rem;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: inherit;
  cursor: pointer;
  line-height: 1;
}
.access-chip-remove:hover { background: color-mix(in srgb, var(--forge-color-danger, #ff718b) 18%, transparent); }
.access-chip-empty { color: var(--forge-color-text-muted, #a9b6cc); font-size: .78rem; font-style: italic; }
.access-tag-search { position: relative; }
.access-tag-search > input { width: 100%; }
.access-search-control { position: relative; }
.access-search-control > input { width: 100%; padding-right: 2rem; }
.access-inline-spinner {
  position: absolute;
  right: .65rem;
  top: 50%;
  width: .9rem;
  height: .9rem;
  margin-top: -.45rem;
  border: 2px solid var(--forge-color-border, #26395b);
  border-top-color: var(--forge-color-primary, #65a7ff);
  border-radius: 50%;
  animation: access-spin .75s linear infinite;
}
@keyframes access-spin { to { transform: rotate(360deg); } }
.access-search-results {
  position: absolute;
  z-index: 30;
  inset-inline: 0;
  top: calc(100% + .3rem);
  max-height: 18rem;
  overflow: auto;
  padding: .3rem;
  border: 1px solid var(--forge-color-border, #26395b);
  border-radius: .7rem;
  background: var(--forge-color-surface, #0b1833);
  box-shadow: 0 1rem 2.5rem rgba(0, 0, 0, .28);
}
.access-tag-results { top: calc(100% + .25rem); }
.access-search-option {
  display: grid;
  gap: .18rem;
  width: 100%;
  padding: .6rem .65rem;
  border: 0;
  border-radius: .5rem;
  background: transparent;
  color: inherit;
  text-align: left;
  cursor: pointer;
}
.access-search-option:hover,
.access-search-option:focus-visible { background: var(--forge-color-surface-soft, #101f3d); outline: none; }
.access-search-option span { color: var(--forge-color-text-muted, #a9b6cc); font-size: .75rem; overflow-wrap: anywhere; }
.access-search-empty { padding: .65rem; color: var(--forge-color-text-muted, #a9b6cc); font-size: .8rem; }
.access-subject-search-field { position: relative; min-width: 0; }
.access-selected-subject {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .7rem;
  padding: .55rem .65rem;
  border: 1px solid var(--forge-color-primary, #65a7ff);
  border-radius: .6rem;
  background: color-mix(in srgb, var(--forge-color-primary, #65a7ff) 8%, transparent);
}
.access-selected-subject > div { display: grid; min-width: 0; }
.access-selected-subject span { color: var(--forge-color-text-muted, #a9b6cc); font-size: .75rem; overflow-wrap: anywhere; }
.access-manual-field { display: grid; gap: .35rem; margin-top: .35rem; }
.access-manual-field > span { color: var(--forge-color-text-muted, #a9b6cc); font-size: .75rem; }
.access-assignment-form { grid-template-columns: .65fr minmax(16rem, 1.8fr) 1fr 1.1fr auto; }
.access-assignment-toolbar { display: flex; align-items: end; justify-content: space-between; gap: .7rem; margin: .4rem 0 .8rem; }
.access-assignment-filter { min-width: min(30rem, 100%); }
.access-subject-cell { display: grid; gap: .18rem; }
.access-subject-cell span { color: var(--forge-color-text-muted, #a9b6cc); font-size: .75rem; overflow-wrap: anywhere; }
.access-matrix { display: grid; gap: 1rem; }
.access-matrix-legend { display: flex; flex-wrap: wrap; gap: .65rem 1rem; margin-bottom: .9rem; color: var(--forge-color-text-muted, #a9b6cc); font-size: .78rem; }
.access-matrix-legend span { display: inline-flex; align-items: center; gap: .35rem; }
.matrix-dot { width: .55rem; height: .55rem; border-radius: 50%; background: var(--forge-color-border, #26395b); }
.matrix-dot.granted { background: var(--forge-color-success, #67d99a); }
.matrix-dot.guarded { background: var(--forge-color-warning, #f5c86b); }
.matrix-dot.blocked { background: var(--forge-color-text-muted, #a9b6cc); }
.matrix-dot.disabled { background: var(--forge-color-danger, #ff718b); }
.access-matrix-profile {
  border: 1px solid var(--forge-color-border, #26395b);
  border-radius: .85rem;
  overflow: hidden;
  background: var(--forge-color-surface-soft, #101f3d);
}
.access-matrix-profile-header { display: flex; justify-content: space-between; align-items: center; gap: .8rem; padding: .85rem 1rem; }
.access-matrix-profile-header h3 { margin: 0; }
.access-matrix-profile-header > div > span { color: var(--forge-color-text-muted, #a9b6cc); font-size: .76rem; }
.access-matrix-table { margin: 0; }
.access-matrix-table td:nth-child(2) { min-width: 11rem; }
.access-matrix-table td:nth-child(2) small { display: block; margin-top: .25rem; color: var(--forge-color-text-muted, #a9b6cc); }
.access-capability-list { display: flex; flex-wrap: wrap; gap: .25rem; }
.access-capability-list code { font-size: .7rem; padding: .18rem .3rem; border-radius: .35rem; background: var(--forge-color-surface, #0b1833); }

@media (max-width: 1100px) {
  .access-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .access-assignment-form { grid-template-columns: 1fr 1fr; }
  .access-subject-search-field { grid-column: 1 / -1; }
  .access-assignment-form .access-notes { grid-column: 1 / -1; }
}
@media (max-width: 720px) {
  .access-context-card { grid-template-columns: auto 1fr; align-items: start; }
  .access-context-card > .status-badge { grid-column: 1 / -1; justify-self: start; }
  .access-summary-grid { grid-template-columns: 1fr; }
  .access-assignment-form { grid-template-columns: 1fr; }
  .access-subject-search-field, .access-assignment-form .access-notes { grid-column: auto; }
  .access-assignment-toolbar { align-items: stretch; flex-direction: column; }
  .access-assignment-filter { width: 100%; min-width: 0; }
  .access-matrix-profile-header { align-items: start; flex-direction: column; }
}
.access-check.is-disabled { opacity: .48; cursor: not-allowed; }
.access-check.is-disabled input { cursor: not-allowed; }


/* V3.10.1 — Navigation & Information Architecture */

.app-navigation {
  justify-self: center;
  display: flex;
  align-items: center;
  gap: .35rem;
  padding: .3rem;
  overflow: visible;
}
.nav-group { position: relative; margin: 0; }
.nav-group[hidden] { display: none !important; }
.nav-group-trigger {
  list-style: none;
  display: inline-flex;
  align-items: center;
  gap: .42rem;
  min-height: 38px;
  padding: .55rem .72rem;
  border-radius: .55rem;
  color: var(--muted);
  font-size: .78rem;
  font-weight: 800;
  white-space: nowrap;
  cursor: pointer;
  user-select: none;
}
.nav-group-trigger::-webkit-details-marker { display: none; }
.nav-group-trigger:hover,
.nav-group.active > .nav-group-trigger,
.nav-group[open] > .nav-group-trigger { color: var(--text); background: var(--surface-2); }
.nav-group.active > .nav-group-trigger { box-shadow: inset 0 -2px 0 var(--primary); }
.nav-chevron { font-size: .8rem; transition: transform .16s ease; opacity: .7; }
.nav-group[open] .nav-chevron { transform: rotate(180deg); }
.nav-group-menu {
  position: absolute;
  z-index: 80;
  top: calc(100% + .5rem);
  left: 0;
  display: grid;
  min-width: 220px;
  gap: .22rem;
  padding: .45rem;
  border: 1px solid var(--border);
  border-radius: .75rem;
  background: color-mix(in srgb, var(--surface-3) 96%, #000);
  box-shadow: 0 16px 38px rgba(0, 0, 0, .34);
}
.nav-group:not([open]) .nav-group-menu { display: none; }
.nav-group-menu .module-link {
  display: flex;
  width: 100%;
  padding: .62rem .7rem;
  border-radius: .5rem;
  font-size: .82rem;
}
.nav-group-menu .module-link.active { background: color-mix(in srgb, var(--primary) 82%, #111827); }

.forge-breadcrumb {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  color: var(--muted);
  font-size: .76rem;
}
.forge-breadcrumb strong { color: var(--text); font-weight: 800; }
.forge-context-status {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  min-height: 26px;
  padding: .28rem .55rem;
  border: 1px solid var(--border);
  border-radius: 999px;
  color: var(--muted);
  background: var(--surface-3);
  font-size: .72rem;
  font-weight: 750;
  white-space: nowrap;
}
.forge-context-dot { width: .48rem; height: .48rem; border-radius: 50%; background: var(--success); }
.forge-context-status[data-context-mode="platform_cross_org"] { border-color: color-mix(in srgb, var(--warning, #f5c86b) 48%, var(--border)); color: var(--warning, #f5c86b); }
.forge-context-status[data-context-mode="platform_cross_org"] .forge-context-dot { background: var(--warning, #f5c86b); }
.forge-context-status[data-context-mode="delegated"] { border-color: color-mix(in srgb, var(--primary) 52%, var(--border)); color: #b9d4ff; }
.forge-context-status[data-context-mode="delegated"] .forge-context-dot { background: var(--primary); }


@media (max-width: 1180px) {
  
  .app-navigation { grid-column: 1 / -1; grid-row: 2; justify-self: stretch; justify-content: flex-start; }
  
  
}
@media (max-width: 760px) {
  .app-navigation { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; }
  .nav-group-trigger { width: 100%; justify-content: space-between; }
  .nav-group-menu { position: static; min-width: 0; margin-top: .3rem; box-shadow: none; }
  
  .forge-context-status { max-width: 100%; white-space: normal; }
}
@media (max-width: 460px) {
  .app-navigation { grid-template-columns: 1fr; }
}

/* V3.10.2 — Dashboard & Home */
.nav-home-link {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  padding: .55rem .72rem;
  border-radius: .55rem;
  font-size: .78rem;
  font-weight: 800;
  white-space: nowrap;
}
.nav-home-link.active,
.nav-home-link[aria-current="page"] { box-shadow: inset 0 -2px 0 var(--primary); }
.home-shell {
  width: min(1480px, 100%);
  margin: 0 auto;
  padding: 24px;
  display: grid;
  gap: 18px;
}
.home-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(280px, .55fr);
  gap: 28px;
  align-items: center;
  padding: clamp(22px, 3vw, 38px);
  overflow: hidden;
  position: relative;
}
.home-hero::after {
  content: '';
  position: absolute;
  width: 260px;
  height: 260px;
  right: -110px;
  top: -120px;
  border-radius: 50%;
  background: color-mix(in srgb, var(--primary) 14%, transparent);
  pointer-events: none;
}
.home-hero-copy { position: relative; z-index: 1; max-width: 860px; }
.home-hero h2 { margin: .15rem 0 .65rem; font-size: clamp(1.75rem, 3.5vw, 2.7rem); }
.home-lead { max-width: 780px; margin: 0; font-size: .98rem; line-height: 1.65; }
.home-primary-action {
  position: relative;
  z-index: 1;
  padding: 18px;
  border: 1px solid color-mix(in srgb, var(--primary) 45%, var(--border));
  border-radius: .85rem;
  background: color-mix(in srgb, var(--primary) 11%, var(--surface-2));
}
.home-primary-label,
.home-status-kicker,
.home-module-area {
  display: block;
  color: var(--muted);
  font-size: .68rem;
  font-weight: 850;
  letter-spacing: .055em;
  text-transform: uppercase;
}
.home-primary-action strong { display: block; margin-top: .35rem; font-size: 1.15rem; }
.home-primary-action p { margin: .45rem 0 1rem; line-height: 1.5; }
.home-status-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.home-status-card { min-width: 0; padding: 16px 18px; }
.home-status-card strong { display: block; margin: .38rem 0 .28rem; font-size: 1rem; overflow-wrap: anywhere; }
.home-status-card > span:last-child { display: block; color: var(--muted); font-size: .78rem; line-height: 1.4; }
.home-content-grid { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(300px, .55fr); gap: 18px; align-items: start; }
.home-modules-panel { padding: 20px; }
.home-count-badge {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: .3rem .6rem;
  border: 1px solid var(--border);
  border-radius: 999px;
  color: var(--muted);
  background: var(--surface-2);
  font-size: .74rem;
  font-weight: 800;
  white-space: nowrap;
}
.home-module-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 16px; }
.home-module-card {
  min-width: 0;
  min-height: 164px;
  display: flex;
  flex-direction: column;
  padding: 16px;
  border: 1px solid var(--border);
  border-radius: .8rem;
  color: var(--text);
  background: var(--surface-2);
  text-decoration: none;
  transition: border-color .16s ease, background .16s ease, transform .16s ease;
}
.home-module-card:hover { border-color: color-mix(in srgb, var(--primary) 60%, var(--border)); background: var(--surface-3); transform: translateY(-1px); }
.home-module-card:focus-visible { outline: 3px solid color-mix(in srgb, var(--primary) 48%, transparent); outline-offset: 2px; }
.home-module-card strong { margin: .42rem 0 .35rem; font-size: 1rem; }
.home-module-card p { margin: 0; font-size: .8rem; line-height: 1.5; }
.home-module-open { margin-top: auto; padding-top: .8rem; color: #b9d4ff; font-size: .76rem; font-weight: 800; }
.home-side-stack { display: grid; gap: 18px; }
.home-session-panel,
.home-guidance-panel { padding: 20px; }
.home-facts { display: grid; gap: 0; margin: .5rem 0 0; }
.home-facts div { display: grid; gap: .25rem; padding: .75rem 0; border-bottom: 1px solid var(--border-soft); }
.home-facts div:last-child { border-bottom: 0; }
.home-facts dt { color: var(--muted); font-size: .7rem; font-weight: 800; }
.home-facts dd { margin: 0; font-size: .82rem; font-weight: 750; overflow-wrap: anywhere; }
.home-guidance-panel { border-style: dashed; }
.home-guidance-panel h2 { margin: .2rem 0 .7rem; font-size: 1rem; }
.home-guidance-panel p { margin: 0; font-size: .8rem; line-height: 1.55; }

@media (max-width: 1080px) {
  .home-status-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-content-grid { grid-template-columns: 1fr; }
  .home-side-stack { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .nav-home-link { width: 100%; justify-content: center; }
  .home-shell { padding: 14px; }
  .home-hero { grid-template-columns: 1fr; gap: 18px; }
  .home-module-grid { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .home-status-grid,
  .home-side-stack { grid-template-columns: 1fr; }
  .home-hero,
  .home-modules-panel,
  .home-session-panel,
  .home-guidance-panel { padding: 16px; }
}


/* V3.10.3 — Filters, Search & Tables */
.interaction-page-size-control {
  display: grid;
  gap: 2px;
  min-height: 42px;
  align-content: center;
  padding: 7px 11px;
  border: 1px solid rgba(91,124,250,.30);
  border-radius: var(--forge-radius-sm, 10px);
  background: rgba(91,124,250,.08);
}
.interaction-page-size-control > span { color: var(--forge-color-text-muted, #a9b6cc); font-size: .72rem; }
.interaction-page-size-control > select { color: var(--forge-color-text, #f7f9ff); font-size: 1rem; }
.interaction-page-size-control > small { color: var(--forge-color-text-muted, #a9b6cc); font-size: .68rem; }
.interaction-fetch-policy {
  display: grid;
  justify-items: end;
  gap: 2px;
  max-width: 420px;
  text-align: right;
}
.interaction-fetch-policy strong { color: var(--forge-color-information, #8fa8ff); font-size: .76rem; }
body.dashboard-page [data-forge-table="true"] tbody tr:focus-visible {
  outline: 2px solid var(--forge-color-information, #8fa8ff);
  outline-offset: -2px;
}
body.dashboard-page input[type="search"] { min-width: 0; }
@media (max-width: 760px) {
  .interaction-fetch-policy { justify-items: start; text-align: left; max-width: none; width: 100%; }
  .interaction-page-size-control { min-width: 100%; }
}


/* V3.10.3 refinement — paged interaction search + Participant Data list */
.interaction-page-size-control {
  display: grid;
  gap: 4px;
  min-height: 42px;
  align-content: center;
  padding: 7px 11px;
  border: 1px solid rgba(91,124,250,.30);
  border-radius: var(--forge-radius-sm, 10px);
  background: rgba(91,124,250,.08);
}
.interaction-page-size-control > select { min-width: 92px; }
.participant-data-toolbar { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:8px; }
.participant-data-toolbar .field-help { margin:0; }
.participant-condition-count { font-size:.72rem; font-weight:800; white-space:nowrap; }
.participant-data-conditions { display:grid; gap:8px; }
.participant-condition-row {
  display:grid;
  grid-template-columns:minmax(150px,1.35fr) minmax(110px,.75fr) minmax(150px,1.25fr) auto;
  gap:8px;
  align-items:end;
  padding:9px;
  border:1px solid rgba(120,128,145,.25);
  border-radius:8px;
  background:rgba(127,137,160,.045);
}
.participant-condition-row label { margin:0 !important; }
.participant-condition-remove { min-width:38px; align-self:end; }
.participant-condition-add { margin-top:9px; }
@media (max-width: 900px) {
  .participant-condition-row { grid-template-columns:1fr 1fr; }
  .participant-condition-remove { justify-self:end; }
}
@media (max-width: 620px) {
  .participant-condition-row { grid-template-columns:1fr; }
  .participant-data-toolbar { align-items:flex-start; }
}

/* V3.10.4 — Forms & Actions */
html.forge-ui-ready body.dashboard-page form[data-forge-tracked="true"] {
  position: relative;
}

body.dashboard-page .forge-unsaved-indicator {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  margin-top: .45rem;
  padding: 4px 8px;
  border: 1px solid color-mix(in srgb, var(--forge-color-warning, #f5c86b) 46%, transparent);
  border-radius: 999px;
  background: color-mix(in srgb, var(--forge-color-warning, #f5c86b) 12%, transparent);
  color: var(--forge-color-warning, #f5c86b);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .01em;
}

body.dashboard-page .forge-required-marker {
  color: var(--forge-color-warning, #f5c86b);
  font-weight: 800;
}

body.dashboard-page :is(input, select, textarea).forge-field-invalid,
body.dashboard-page :is(input, select, textarea)[aria-invalid="true"] {
  border-color: var(--forge-color-danger, #ff6b6b) !important;
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--forge-color-danger, #ff6b6b) 18%, transparent);
}

body.dashboard-page .forge-field-error {
  display: block;
  margin-top: 5px;
  color: #ff9a9a;
  font-size: .74rem;
  line-height: 1.35;
}

body.dashboard-page form.forge-form-dirty :is(.schema-dialog-footer, .dialog-actions) {
  border-color: color-mix(in srgb, var(--forge-color-warning, #f5c86b) 28%, var(--border, #263c64));
}

body.dashboard-page button[data-action-role="primary"] {
  font-weight: 700;
}

body.dashboard-page button[data-action-role="destructive"] {
  font-weight: 700;
}

body.dashboard-page form[aria-busy="true"] {
  cursor: progress;
}

@media (max-width: 720px) {
  body.dashboard-page .forge-unsaved-indicator { white-space: normal; }
}

/* ==========================================================================\n * V3.10.5 — Feedback & States\n * Contextual loading, empty, success/error feedback and progress patterns.\n * ========================================================================== */
body.dashboard-page :is(.status, .status-line)[data-feedback-state]:not(:empty) {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  min-height: 0;
  margin-block: 12px;
  padding: 10px 12px;
  border: 1px solid var(--forge-state-info-border);
  border-radius: var(--forge-radius-sm);
  background: var(--forge-state-info-bg);
  color: var(--forge-color-text-muted);
}
body.dashboard-page :is(.status, .status-line)[data-feedback-state]:not(:empty)::before {
  flex: 0 0 auto;
  width: 18px;
  font-weight: 900;
  text-align: center;
  content: 'i';
  color: var(--forge-color-information);
}
body.dashboard-page :is(.status, .status-line)[data-feedback-state="success"]:not(:empty) {
  border-color: var(--forge-state-success-border);
  background: var(--forge-state-success-bg);
  color: #bdebdc;
}
body.dashboard-page :is(.status, .status-line)[data-feedback-state="success"]:not(:empty)::before { content: '✓'; color: var(--forge-color-success); }
body.dashboard-page :is(.status, .status-line)[data-feedback-state="warning"]:not(:empty) {
  border-color: var(--forge-state-warning-border);
  background: var(--forge-state-warning-bg);
  color: #ffe0a3;
}
body.dashboard-page :is(.status, .status-line)[data-feedback-state="warning"]:not(:empty)::before { content: '!'; color: var(--forge-color-warning); }
body.dashboard-page :is(.status, .status-line)[data-feedback-state="error"]:not(:empty) {
  border-color: var(--forge-state-danger-border);
  background: var(--forge-state-danger-bg);
  color: #ffd0d0;
}
body.dashboard-page :is(.status, .status-line)[data-feedback-state="error"]:not(:empty)::before { content: '×'; color: var(--forge-color-danger); }

body.dashboard-page .forge-loading-state:not([hidden]) {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 46px;
}
body.dashboard-page .forge-loading-state:not([hidden])::before {
  width: 17px;
  height: 17px;
  flex: 0 0 17px;
  border: 2px solid color-mix(in srgb, var(--forge-color-information) 30%, transparent);
  border-top-color: var(--forge-color-information);
  border-radius: 50%;
  content: '';
  animation: forge-feedback-spin .75s linear infinite;
}
body.dashboard-page .forge-region-busy { cursor: progress; }

body.dashboard-page .forge-empty-state:not([hidden]) {
  border: 1px dashed color-mix(in srgb, var(--forge-color-border) 78%, transparent);
  border-radius: var(--forge-radius-md);
  background: color-mix(in srgb, var(--forge-color-surface-raised) 38%, transparent);
}

body.dashboard-page .forge-progress {
  display: grid;
  gap: 8px;
  margin: 14px 0 4px;
  padding: 12px 14px;
  border: 1px solid var(--forge-state-info-border);
  border-radius: var(--forge-radius-md);
  background: var(--forge-state-info-bg);
}
body.dashboard-page .forge-progress[hidden] { display: none; }
body.dashboard-page .forge-progress-copy {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  color: var(--forge-color-text);
  font-size: .88rem;
}
body.dashboard-page .forge-progress-detail { color: var(--forge-color-text-muted); font-size: .8rem; }
body.dashboard-page .forge-progress-track {
  height: 7px;
  overflow: hidden;
  border-radius: 999px;
  background: color-mix(in srgb, var(--forge-color-information) 16%, var(--forge-color-surface));
}
body.dashboard-page .forge-progress-bar {
  display: block;
  height: 100%;
  width: 0;
  border-radius: inherit;
  background: var(--forge-color-information);
  transition: width 220ms ease;
}
body.dashboard-page .forge-progress.is-indeterminate .forge-progress-bar {
  animation: forge-feedback-progress 1.2s ease-in-out infinite;
}
body.dashboard-page .forge-progress[data-feedback-state="success"] {
  border-color: var(--forge-state-success-border);
  background: var(--forge-state-success-bg);
}
body.dashboard-page .forge-progress[data-feedback-state="success"] .forge-progress-bar { background: var(--forge-color-success); }
body.dashboard-page .forge-progress[data-feedback-state="error"] {
  border-color: var(--forge-state-danger-border);
  background: var(--forge-state-danger-bg);
}
body.dashboard-page .forge-progress[data-feedback-state="error"] .forge-progress-bar { background: var(--forge-color-danger); }

@keyframes forge-feedback-spin { to { transform: rotate(360deg); } }
@keyframes forge-feedback-progress {
  0% { transform: translateX(-115%); }
  55% { transform: translateX(155%); }
  100% { transform: translateX(255%); }
}
@media (prefers-reduced-motion: reduce) {
  body.dashboard-page .forge-loading-state:not([hidden])::before,
  body.dashboard-page .forge-progress.is-indeterminate .forge-progress-bar { animation: none; }
  body.dashboard-page .forge-progress.is-indeterminate .forge-progress-bar { width: 55% !important; opacity: .78; }
}

/* ==========================================================================
 * V3.10.6 — Progressive Disclosure
 * Keep primary journeys visible and reveal technical/advanced controls on demand.
 * ========================================================================== */
body.dashboard-page .forge-disclosure {
  border: 1px solid color-mix(in srgb, var(--forge-color-border, #263c64) 82%, transparent);
  border-radius: var(--forge-radius-md, 12px);
  background: color-mix(in srgb, var(--forge-color-surface-raised, #111d35) 52%, transparent);
  overflow: visible;
}
body.dashboard-page .forge-disclosure + .forge-disclosure { margin-top: 10px; }
body.dashboard-page .forge-disclosure > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  min-height: 48px;
  padding: 10px 13px;
  cursor: pointer;
  list-style: none;
  color: var(--forge-color-text, #f7f8fb);
  user-select: none;
}
body.dashboard-page .forge-disclosure > summary::-webkit-details-marker { display: none; }
body.dashboard-page .forge-disclosure > summary::after {
  content: '⌄';
  flex: 0 0 auto;
  color: var(--forge-color-text-muted, #9ca8c2);
  font-size: .95rem;
  transition: transform 160ms ease;
}
body.dashboard-page .forge-disclosure[open] > summary::after { transform: rotate(180deg); }
body.dashboard-page .forge-disclosure > summary > span:first-child {
  display: grid;
  gap: 2px;
}
body.dashboard-page .forge-disclosure > summary strong { font-size: .84rem; }
body.dashboard-page .forge-disclosure > summary small {
  color: var(--forge-color-text-muted, #9ca8c2);
  font-size: .72rem;
  font-weight: 500;
  line-height: 1.3;
}
body.dashboard-page .forge-disclosure[open] > summary {
  border-bottom: 1px solid color-mix(in srgb, var(--forge-color-border, #263c64) 72%, transparent);
  background: color-mix(in srgb, var(--forge-color-information, #5b7cfa) 7%, transparent);
}
body.dashboard-page .forge-disclosure.has-active-values > summary {
  box-shadow: inset 3px 0 0 color-mix(in srgb, var(--forge-color-information, #5b7cfa) 82%, transparent);
}
body.dashboard-page .forge-disclosure-body { padding: 12px 13px; }
body.dashboard-page .disclosure-count,
body.dashboard-page .button-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 22px;
  min-height: 22px;
  padding: 1px 6px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--forge-color-information, #5b7cfa) 18%, transparent);
  color: var(--forge-color-text, #f7f8fb);
  font-size: .7rem;
  font-weight: 800;
}
body.dashboard-page .button-count[hidden] { display: none; }
body.dashboard-page #toggle-filters-button.has-active-filters {
  border-color: color-mix(in srgb, var(--forge-color-information, #5b7cfa) 64%, var(--forge-color-border, #263c64));
}
body.dashboard-page .progressive-filter-panel {
  display: grid;
  gap: 10px;
}
body.dashboard-page .progressive-filter-panel[hidden] { display: none; }
body.dashboard-page .progressive-filter-panel .filter-extension-card {
  margin: 0;
  border: 0;
  padding: 0;
  background: transparent;
}
body.dashboard-page .progressive-filter-panel .filter-extension-card > legend {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
body.analytics-page .analytics-sidebar-disclosure { margin-top: 14px; }
body.analytics-page .analytics-sidebar-disclosure-body { display: grid; gap: 10px; }
body.analytics-page .analytics-sidebar-disclosure .analytics-sidebar-divider { margin: 4px 0; }
body.analytics-page .analytics-filter-disclosure {
  grid-column: 1 / -1;
}
body.analytics-page .analytics-extra-filter-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(120px, 1fr));
  gap: 10px;
}
body.analytics-page .builder-technical-disclosure {
  grid-column: 1 / -1;
}
body.analytics-page .builder-technical-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
body.analytics-page .builder-technical-grid > .analytics-builder-note { grid-column: 1 / -1; }
@media (max-width: 1100px) {
  body.analytics-page .analytics-extra-filter-grid { grid-template-columns: repeat(2, minmax(140px, 1fr)); }
}
@media (max-width: 720px) {
  body.dashboard-page .forge-disclosure > summary { align-items: flex-start; }
  body.analytics-page .analytics-extra-filter-grid,
  body.analytics-page .builder-technical-grid { grid-template-columns: 1fr; }
  body.analytics-page .builder-technical-grid > .analytics-builder-note { grid-column: auto; }
}
@media (prefers-reduced-motion: reduce) {
  body.dashboard-page .forge-disclosure > summary::after { transition: none; }
}

/* ========================================================================== */
/* V3.10.7 — Per-user personalization: theme, accent, density and workspace. */
/* ========================================================================== */

html[data-forge-accent="orange"] {
  --forge-color-primary: #ff451a;
  --forge-color-primary-hover: #ff603d;
  --forge-color-primary-dark: #d82f09;
  --forge-primary-soft: rgba(255, 69, 26, .12);
  --forge-primary-shadow: rgba(255, 69, 26, .22);
  --forge-focus-ring: #ff8d73;
}
html[data-forge-accent="blue"] {
  --forge-color-primary: #3b82f6;
  --forge-color-primary-hover: #60a5fa;
  --forge-color-primary-dark: #2563eb;
  --forge-primary-soft: rgba(59, 130, 246, .13);
  --forge-primary-shadow: rgba(59, 130, 246, .22);
  --forge-focus-ring: #93c5fd;
}
html[data-forge-accent="purple"] {
  --forge-color-primary: #8b5cf6;
  --forge-color-primary-hover: #a78bfa;
  --forge-color-primary-dark: #7c3aed;
  --forge-primary-soft: rgba(139, 92, 246, .13);
  --forge-primary-shadow: rgba(139, 92, 246, .22);
  --forge-focus-ring: #c4b5fd;
}
html[data-forge-accent="teal"] {
  --forge-color-primary: #0891b2;
  --forge-color-primary-hover: #06b6d4;
  --forge-color-primary-dark: #0e7490;
  --forge-primary-soft: rgba(8, 145, 178, .13);
  --forge-primary-shadow: rgba(8, 145, 178, .22);
  --forge-focus-ring: #67e8f9;
}
html[data-forge-accent="green"] {
  --forge-color-primary: #16a34a;
  --forge-color-primary-hover: #22c55e;
  --forge-color-primary-dark: #15803d;
  --forge-primary-soft: rgba(22, 163, 74, .13);
  --forge-primary-shadow: rgba(22, 163, 74, .22);
  --forge-focus-ring: #86efac;
}
html[data-forge-accent="rose"] {
  --forge-color-primary: #e11d48;
  --forge-color-primary-hover: #f43f5e;
  --forge-color-primary-dark: #be123c;
  --forge-primary-soft: rgba(225, 29, 72, .13);
  --forge-primary-shadow: rgba(225, 29, 72, .22);
  --forge-focus-ring: #fda4af;
}

html[data-forge-workspace-width="focused"] { --forge-page-max: 1360px; }
html[data-forge-workspace-width="standard"] { --forge-page-max: 1760px; }
html[data-forge-workspace-width="wide"] { --forge-page-max: 100%; }

html[data-forge-density="compact"] {
  --forge-control-height: 36px;
  --forge-space-3: 10px;
  --forge-space-4: 12px;
  --forge-space-5: 16px;
  --forge-space-6: 20px;
}


html[data-forge-density="compact"] body.dashboard-page .module-link { min-height: 34px; padding-inline: 10px; }
html[data-forge-density="compact"] body.dashboard-page :is(.card, .panel) { --forge-card-density-padding: 14px; }
html[data-forge-density="compact"] body.dashboard-page .card { padding: 14px; }
html[data-forge-density="compact"] body.dashboard-page :is(.table-scroll td, .table-scroll th, .analytics-data-table td, .analytics-data-table th, .parity-table td, .parity-table th, .interaction-grid td, .interaction-grid th, .detail-table td, .detail-table th) {
  padding-top: 7px;
  padding-bottom: 7px;
}

/* Rebind legacy dark literals to the active accent. */

body.dashboard-page .module-link.active,
body.dashboard-page .module-link[aria-current="page"] { background: var(--forge-primary-soft, rgba(255,69,26,.10)); }
body.dashboard-page .button,
body.dashboard-page .button.primary,
body.dashboard-page .forge-swal-confirm {
  border-color: color-mix(in srgb, var(--forge-color-primary) 76%, #000 24%);
  background: linear-gradient(135deg, var(--forge-color-primary), var(--forge-color-primary-dark, #d82f09));
  box-shadow: 0 6px 16px color-mix(in srgb, var(--forge-color-primary) 18%, transparent);
}
body.dashboard-page .forge-swal-confirm:hover { background: var(--forge-color-primary-hover); }
body.dashboard-page input[type="checkbox"],
body.dashboard-page input[type="radio"] { accent-color: var(--forge-color-primary); }

/* Light palette. The platform remains dark by default and SYSTEM resolves in JS. */
html[data-forge-theme-resolved="light"] {
  --forge-color-bg: #f4f7fb;
  --forge-color-bg-elevated: #ffffff;
  --forge-color-surface: #ffffff;
  --forge-color-surface-raised: #eef3f9;
  --forge-color-surface-strong: #e4ebf4;
  --forge-color-border: #b8c5d6;
  --forge-color-border-soft: #d5dee9;
  --forge-color-text: #152238;
  --forge-color-text-muted: #52657d;
  --forge-color-text-subtle: #6b7d93;
  --forge-color-information: #3569d4;
  --forge-color-success: #16835f;
  --forge-color-warning: #9a6300;
  --forge-color-danger: #c23349;
  --forge-shadow-sm: 0 8px 20px rgba(29, 48, 76, .08);
  --forge-shadow-md: 0 16px 38px rgba(29, 48, 76, .12);
  --forge-shadow-lg: 0 28px 70px rgba(29, 48, 76, .18);
}
html[data-forge-theme-resolved="light"] body.dashboard-page {
  background:
    radial-gradient(circle at 12% -8%, color-mix(in srgb, var(--forge-color-primary) 8%, transparent), transparent 32rem),
    linear-gradient(180deg, #f8fafd, var(--forge-color-bg));
}

html[data-forge-theme-resolved="light"] body.dashboard-page .module-link { color: #455a74; }
html[data-forge-theme-resolved="light"] body.dashboard-page .module-link:hover { background: #edf2f8; color: #142238; }
html[data-forge-theme-resolved="light"] body.dashboard-page .module-link.active,
html[data-forge-theme-resolved="light"] body.dashboard-page .module-link[aria-current="page"] { color: #142238; }
html[data-forge-theme-resolved="light"] body.dashboard-page :is(.panel, .card) {
  background: linear-gradient(150deg, #ffffff, #f8fafc);
}
html[data-forge-theme-resolved="light"] body.dashboard-page :is(input, select, textarea) {
  border-color: #aebed1;
  background: #ffffff;
  color: var(--forge-color-text);
}
html[data-forge-theme-resolved="light"] body.dashboard-page :is(input, textarea)::placeholder { color: #7b8da3; }
html[data-forge-theme-resolved="light"] body.dashboard-page label { color: #30445f; }
html[data-forge-theme-resolved="light"] body.dashboard-page .button.secondary,
html[data-forge-theme-resolved="light"] body.dashboard-page .icon-button {
  border-color: #aebed1;
  background: #edf2f8;
  color: #233650;
}
html[data-forge-theme-resolved="light"] body.dashboard-page .button.ghost {
  border-color: #aebed1;
  color: #30445f;
}
html[data-forge-theme-resolved="light"] body.dashboard-page :is(.button.secondary, .button.ghost):hover:not(:disabled) {
  border-color: var(--forge-color-primary);
  background: color-mix(in srgb, var(--forge-color-primary) 8%, #fff);
  color: #152238;
}
html[data-forge-theme-resolved="light"] body.dashboard-page .button.danger { background: #fff0f2; color: #a61f38; border-color: #e6a8b3; }
html[data-forge-theme-resolved="light"] body.dashboard-page :is(.table-scroll th, .analytics-data-table th, .parity-table th, .interaction-grid th, .detail-table th) {
  background: #eaf0f7;
  color: #344b68;
}
html[data-forge-theme-resolved="light"] body.dashboard-page dialog { background: #ffffff; }
html[data-forge-theme-resolved="light"] body.dashboard-page dialog::backdrop { background: rgba(28, 40, 58, .45); }
html[data-forge-theme-resolved="light"] body.dashboard-page :is(.schema-dialog-header, .schema-dialog-footer, .drawer-header) { background: rgba(248,250,252,.98); }
html[data-forge-theme-resolved="light"] .skip-link { background: #ffffff; color: #152238; }

/* Personalization dialog. */
body.dashboard-page .personalization-dialog {
  width: min(840px, calc(100vw - 28px));
  padding: 0;
  overflow: hidden;
}
body.dashboard-page .personalization-form { display: grid; grid-template-rows: auto minmax(0, 1fr) auto; max-height: min(860px, calc(100dvh - 30px)); }
body.dashboard-page .personalization-header,
body.dashboard-page .personalization-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 20px;
  border-bottom: 1px solid var(--forge-color-border-soft);
  background: color-mix(in srgb, var(--forge-color-surface-raised) 70%, var(--forge-color-bg-elevated));
}
body.dashboard-page .personalization-header h2 { margin: 0; }
body.dashboard-page .personalization-header p { margin: 2px 0 0; }
body.dashboard-page .personalization-scroll { overflow: auto; padding: 18px 20px; }
body.dashboard-page .personalization-section { margin: 0 0 18px; padding: 14px; border: 1px solid var(--forge-color-border-soft); border-radius: var(--forge-radius-md); }
body.dashboard-page .personalization-section legend { padding-inline: 6px; color: var(--forge-color-text); font-weight: 800; }
body.dashboard-page .personalization-choice-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
body.dashboard-page .theme-choice-grid,
body.dashboard-page .workspace-choice-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
body.dashboard-page .preference-choice,
body.dashboard-page .accent-choice,
body.dashboard-page .preference-toggle {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  min-width: 0;
  padding: 12px;
  border: 1px solid var(--forge-color-border-soft);
  border-radius: 10px;
  background: color-mix(in srgb, var(--forge-color-surface-raised) 52%, transparent);
  cursor: pointer;
}
body.dashboard-page .preference-choice:has(input:checked),
body.dashboard-page .accent-choice:has(input:checked) {
  border-color: var(--forge-color-primary);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--forge-color-primary) 14%, transparent);
}
body.dashboard-page .preference-choice span,
body.dashboard-page .preference-toggle span { min-width: 0; display: grid; gap: 3px; }
body.dashboard-page .preference-choice small,
body.dashboard-page .preference-toggle small { color: var(--forge-color-text-muted); }
body.dashboard-page .accent-choice-grid { display: grid; grid-template-columns: repeat(6, minmax(82px, 1fr)); gap: 8px; }
body.dashboard-page .accent-choice { align-items: center; justify-content: center; flex-direction: column; text-align: center; font-size: .78rem; }
body.dashboard-page .accent-choice input { position: absolute; opacity: 0; pointer-events: none; }
body.dashboard-page .accent-swatch { width: 28px; height: 28px; border: 2px solid rgba(255,255,255,.7); border-radius: 50%; box-shadow: 0 0 0 1px var(--forge-color-border); }
body.dashboard-page .accent-orange .accent-swatch { background: #ff451a; }
body.dashboard-page .accent-blue .accent-swatch { background: #3b82f6; }
body.dashboard-page .accent-purple .accent-swatch { background: #8b5cf6; }
body.dashboard-page .accent-teal .accent-swatch { background: #0891b2; }
body.dashboard-page .accent-green .accent-swatch { background: #16a34a; }
body.dashboard-page .accent-rose .accent-swatch { background: #e11d48; }
body.dashboard-page .personalization-operational { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
body.dashboard-page .personalization-operational legend { grid-column: 1 / -1; }
body.dashboard-page .personalization-operational > label:not(.preference-toggle) { display: grid; gap: 6px; }
body.dashboard-page .personalization-operational .preference-toggle { grid-column: 1 / -1; }
body.dashboard-page .personalization-footer { border-top: 1px solid var(--forge-color-border-soft); border-bottom: 0; }
body.dashboard-page .personalization-footer-actions { display: flex; gap: 8px; }
body.dashboard-page .personalization-launcher { white-space: nowrap; }

@media (max-width: 760px) {
  body.dashboard-page .theme-choice-grid,
  body.dashboard-page .workspace-choice-grid,
  body.dashboard-page .personalization-choice-grid { grid-template-columns: 1fr; }
  body.dashboard-page .accent-choice-grid { grid-template-columns: repeat(3, minmax(76px, 1fr)); }
  body.dashboard-page .personalization-operational { grid-template-columns: 1fr; }
  body.dashboard-page .personalization-footer { align-items: stretch; flex-direction: column; }
  body.dashboard-page .personalization-footer-actions { width: 100%; }
  body.dashboard-page .personalization-footer-actions .button { flex: 1; }
}

/* ========================================================================== */
/* V3.10.8 — Responsive & Density exhaustive hardening                        */
/* ========================================================================== */
:root {
  --forge-page-gutter: clamp(10px, 1.7vw, 24px);
  --forge-layout-gap: 16px;
  --forge-panel-density-padding: 18px;
  --forge-table-cell-block: 10px;
  --forge-table-cell-inline: 12px;
}

html[data-forge-density="compact"] {
  --forge-layout-gap: 11px;
  --forge-panel-density-padding: 13px;
  --forge-table-cell-block: 7px;
  --forge-table-cell-inline: 9px;
}

body.dashboard-page *, body.dashboard-page *::before, body.dashboard-page *::after { box-sizing: border-box; }
body.dashboard-page :is(main, section, article, aside, form, fieldset, header, footer, nav, div) { min-width: 0; }
body.dashboard-page :is(.page-shell, .home-shell, .architect-shell, .operations-shell, .governance-shell, .parity-workspace, .interactions-workspace, .analytics-layout, .vault-layout) {
  max-width: var(--forge-page-max);
}
body.dashboard-page :is(.page-shell, .home-shell) {
  width: min(100%, var(--forge-page-max));
  margin-inline: auto;
  padding-inline: var(--forge-page-gutter);
}
body.dashboard-page :is(.panel-heading, .section-heading, .interaction-title-row, .results-header, .results-footer, .analytics-view-header, .analytics-workspace-header, .drawer-header, .schema-dialog-header, .schema-dialog-footer) > * { min-width: 0; }
body.dashboard-page :is(.panel-heading, .section-heading, .interaction-title-row, .results-header, .results-footer, .analytics-view-header, .analytics-workspace-header) { flex-wrap: wrap; }
body.dashboard-page :is(.toolbar-actions, .workspace-actions, .source-actions, .drawer-header-actions, .dialog-actions, .schema-dialog-footer-actions, .analytics-title-actions, .analytics-refresh-group, .analytics-filter-actions, .architect-upload-actions, .architect-deploy-actions, .access-context-actions) > * { min-width: 0; }
body.dashboard-page :is(input, select, textarea, button, .button) { max-width: 100%; }
body.dashboard-page :is(code, pre, .interaction-json, .architect-log, .architect-hash) { max-width: 100%; }
body.dashboard-page :is(code, .architect-hash) { overflow-wrap: anywhere; }

/* Scroll is explicit for dense/tabular information instead of leaking to the document. */
body.dashboard-page .forge-scroll-region {
  max-width: 100%;
  overscroll-behavior-inline: contain;
  scrollbar-gutter: stable;
  -webkit-overflow-scrolling: touch;
}
body.dashboard-page .forge-scroll-region.is-overflowing-x {
  box-shadow: inset -10px 0 12px -14px color-mix(in srgb, var(--forge-color-text) 38%, transparent);
}
body.dashboard-page .forge-scroll-region:focus-visible { outline-offset: -3px; }
body.dashboard-page :is(.table-scroll, .data-grid-wrapper, .interaction-grid-wrapper, .parity-table-wrapper, .analytics-table-wrapper, .detail-table-wrapper, .attribute-preview-table-wrap, .architect-dependency-table-wrap) > table {
  min-width: 100%;
}
body.dashboard-page :is(.data-grid, .interaction-grid, .parity-table, .analytics-data-table, .detail-table, .access-matrix-table) :is(th, td) {
  padding-block: var(--forge-table-cell-block);
  padding-inline: var(--forge-table-cell-inline);
}

/* Density affects information density on pointer-precise screens, never mobile tap safety. */
html[data-forge-density="compact"] body.dashboard-page :is(.home-status-card, .home-module-card, .summary-card, .kpi-card, .health-card, .insight-panel, .analytics-widget-card, .access-feature-card, .architect-result-card) { padding: 12px; }
html[data-forge-density="compact"] body.dashboard-page :is(.interaction-title-row, .interaction-filter-form, .results-header, .results-footer, .detail-content, .analytics-toolbar, .analytics-widget-content, .personalization-scroll) { padding-block: 10px; }
html[data-forge-density="compact"] body.dashboard-page :is(.operations-shell, .interactions-workspace, .parity-workspace, .analytics-layout, .vault-layout, .architect-shell, .home-shell) { gap: 11px; }

/* Home */
body.home-page .home-shell { width: min(100%, var(--forge-page-max)); }
body.home-page .home-hero, body.home-page .home-content-grid, body.home-page .home-status-grid, body.home-page .home-module-grid, body.home-page .home-side-stack { min-width: 0; }
body.home-page .home-primary-action .button { max-width: 100%; }

/* Data Tables */
body.dashboard-page .vault-layout > * { min-width: 0; }
body.dashboard-page :is(.catalog-options, .rows-toolbar, .rows-footer, .schema-editor-toolbar) { flex-wrap: wrap; }
body.dashboard-page .schema-editor-scroll { max-width: 100%; overflow: auto; }
body.dashboard-page .schema-editor-head, body.dashboard-page .schema-editor-row { width: max-content; min-width: 100%; }

/* Interactions */
body.interactions-page :is(.genesys-filter-row, .filter-primary-grid, .advanced-filter-grid, .filter-extension-grid, .participant-condition-row, .result-summary-cards, .insight-kpis, .insights-two-column, .detail-kv-grid) > * { min-width: 0; }
body.interactions-page .load-progress-area { min-width: min(250px, 100%); }
body.interactions-page .interaction-drawer { max-width: 100vw; height: 100dvh; }
body.interactions-page .detail-content { overscroll-behavior: contain; }
body.interactions-page .interaction-json { overflow: auto; }
body.interactions-page .columns-options { min-width: 0; }

/* Analytics */
body.analytics-page :is(.analytics-layout, .analytics-workspace, .analytics-toolbar, .analytics-filter-grid, .analytics-widgets-grid, .widget-builder-grid, .builder-technical-grid, .analytics-extra-filter-grid) > * { min-width: 0; }
body.analytics-page .analytics-widget-content { overflow: hidden; }
body.analytics-page .analytics-chart-layout { overflow-x: auto; overflow-y: hidden; overscroll-behavior-inline: contain; }
body.analytics-page .analytics-chart-svg { max-width: none; }
body.analytics-page :is(.analytics-dialog-body, .widget-builder-grid, .builder-technical-grid) { min-width: 0; }
body.analytics-page .schema-dialog-form { min-width: 0; }
body.analytics-page .analytics-horizontal-row > * { min-width: 0; }

/* Operations & Governance */
body.dashboard-page :is(.operations-kpis, .health-grid) > * { min-width: 0; }
body.dashboard-page .section-heading input[type="search"] { width: min(100%, 32rem); }
body.dashboard-page .governance-bar-row > * { min-width: 0; }
body.dashboard-page .governance-bar-row > span:first-child { overflow-wrap: anywhere; }

/* Architect */
body.architect-page :is(.architect-file-card, .architect-diagnostic-card, .architect-result-grid, .architect-upload-actions, .architect-deploy-actions) > * { min-width: 0; }
body.architect-page .architect-file-info strong { max-width: 100%; }
body.architect-page .architect-dependency-table-wrap { max-width: 100%; overflow: auto; }

/* Parity */
body.parity-page :is(.parity-summary, .parity-controls) > * { min-width: 0; }
body.parity-page .parity-table-wrapper { max-width: 100%; }

/* Access */
body.access-page :is(.access-hero, .access-context-card, .access-summary-grid, .access-feature-grid, .access-assignment-form, .access-matrix-profile-header, .access-feature-header, .access-feature-footer) > * { min-width: 0; }
body.access-page .access-feature-footer input { width: 100%; }
body.access-page .access-context-actions { max-width: 100%; }
body.access-page .access-search-results { max-width: 100%; }

/* Notebook: workspace preferences remain meaningful but never constrain available width. */
@media (max-width: 1280px) {
  html[data-forge-workspace-width="focused"],
  html[data-forge-workspace-width="standard"],
  html[data-forge-workspace-width="wide"] { --forge-page-max: 100%; }
  body.dashboard-page .home-hero { grid-template-columns: minmax(0, 1.25fr) minmax(240px, .75fr); }
  body.interactions-page .genesys-filter-row { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  body.interactions-page .genesys-filter-row > :nth-child(n+4) { grid-column: auto; }
  body.dashboard-page .operations-kpis { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

/* Tablet: reflow command surfaces, forms and analytical composition. */
@media (max-width: 900px) {
  :root { --forge-page-gutter: 12px; }
  body.dashboard-page :is(.panel-heading, .section-heading, .interaction-title-row, .results-header, .results-footer, .analytics-view-header, .analytics-workspace-header) { align-items: stretch; }
  body.dashboard-page :is(.panel-heading, .interaction-title-row, .results-header, .results-footer) { flex-direction: column; }
  body.dashboard-page :is(.panel-heading, .interaction-title-row, .results-header, .results-footer) > :is(.button, button, input, select, .status, .pagination, .toolbar-actions) { max-width: 100%; }
  body.dashboard-page .pagination { justify-content: flex-start; width: 100%; }
  body.dashboard-page .pagination > span { flex: 1 1 auto; min-width: 120px; }

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

  body.interactions-page .genesys-filter-row,
  body.interactions-page .filter-primary-grid,
  body.interactions-page .advanced-filter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.interactions-page .filter-extension-grid { grid-template-columns: 1fr; }
  body.interactions-page .insight-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.interactions-page .detail-kv-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.interactions-page .interaction-drawer { width: min(760px, 100vw); }

  body.analytics-page .analytics-layout { grid-template-columns: 1fr !important; }
  body.analytics-page .analytics-sidebar { max-height: none; }
  body.analytics-page .analytics-filter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.analytics-page .analytics-doughnut-layout,
  body.analytics-page .analytics-pie-layout { grid-template-columns: 1fr; }
  body.analytics-page .analytics-doughnut { width: min(220px, 70vw); }

  body.dashboard-page .operations-kpis,
  body.dashboard-page .operations-kpis.compact { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.dashboard-page .health-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }

  body.parity-page .parity-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.parity-page .parity-controls { grid-template-columns: repeat(2, minmax(0, 1fr)); }

  body.access-page .access-feature-grid { grid-template-columns: 1fr; }
}

/* Mobile: vertical composition + 44px tap targets + contained horizontal data scroll. */
@media (max-width: 640px), (pointer: coarse) and (max-width: 900px) {
  :root { --forge-control-height: 44px; --forge-touch-target: 44px; --forge-page-gutter: 8px; }
  html[data-forge-density="compact"] { --forge-control-height: 44px; }
  body.dashboard-page :is(button, .button, .icon-button, summary, input:not([type="checkbox"]):not([type="radio"]), select) { min-height: 44px; }
  body.dashboard-page :is(.button.compact, .button.small, .detail-tab, .date-preset, .nav-home-link, .nav-group-trigger) { min-height: 44px; }
  
  body.dashboard-page .session-summary { flex: 1 1 100%; }
  
  body.dashboard-page .nav-group-menu { max-width: 100%; }
  
  body.dashboard-page .forge-breadcrumb { flex-wrap: wrap; }

  body.dashboard-page :is(.table-scroll, .data-grid-wrapper, .interaction-grid-wrapper, .parity-table-wrapper, .analytics-table-wrapper, .detail-table-wrapper, .attribute-preview-table-wrap, .architect-dependency-table-wrap) > table { min-width: 680px; }
  body.dashboard-page :is(.table-scroll, .data-grid-wrapper, .interaction-grid-wrapper, .parity-table-wrapper, .analytics-table-wrapper, .detail-table-wrapper, .attribute-preview-table-wrap, .architect-dependency-table-wrap) { border-radius: 8px; }

  body.home-page .home-status-grid,
  body.home-page .home-side-stack,
  body.home-page .home-module-grid { grid-template-columns: 1fr; }
  body.home-page .home-primary-action .button { width: 100%; }

  body.dashboard-page .vault-layout { padding-inline: 8px; }
  body.dashboard-page :is(.catalog-options, .rows-toolbar, .rows-footer, .schema-editor-toolbar) { align-items: stretch; flex-direction: column; }
  body.dashboard-page :is(.catalog-options, .rows-toolbar, .rows-footer, .schema-editor-toolbar) > * { width: 100%; }

  body.interactions-page .genesys-filter-row,
  body.interactions-page .filter-primary-grid,
  body.interactions-page .advanced-filter-grid,
  body.interactions-page .participant-condition-row,
  body.interactions-page .detail-kv-grid,
  body.interactions-page .columns-options { grid-template-columns: 1fr !important; }
  body.interactions-page :is(.filter-actions-row, .participant-data-toolbar, .active-filter-chips) { align-items: stretch; flex-direction: column; }
  body.interactions-page .load-progress-area { width: 100%; justify-items: stretch; }
  body.interactions-page .result-summary-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; }
  body.interactions-page .mini-stat { min-width: 0; }
  body.interactions-page .interaction-drawer { width: 100vw; border-left: 0; }
  body.interactions-page .drawer-header { flex-direction: column; padding: 12px; }
  body.interactions-page .drawer-header-actions { width: 100%; }
  body.interactions-page .drawer-header-actions .button { flex: 1 1 120px; }
  body.interactions-page .copy-id-button { max-width: 100%; }
  body.interactions-page .detail-content { padding: 12px 12px 28px; }

  body.analytics-page .analytics-filter-grid,
  body.analytics-page .analytics-extra-filter-grid,
  body.analytics-page .widget-builder-grid,
  body.analytics-page .builder-technical-grid,
  body.analytics-page .guided-template-grid { grid-template-columns: 1fr !important; }
  body.analytics-page :is(.analytics-title-actions, .analytics-refresh-group, .analytics-filter-actions, .sql-view-actions, .sql-view-library-actions) { width: 100%; }
  body.analytics-page :is(.analytics-title-actions, .analytics-refresh-group, .analytics-filter-actions, .sql-view-actions, .sql-view-library-actions) .button { flex: 1 1 140px; }
  body.analytics-page .analytics-horizontal-row { grid-template-columns: minmax(0, 90px) minmax(110px, 1fr) auto; }
  body.analytics-page .analytics-chart-svg { min-width: 420px; }

  body.dashboard-page .operations-kpis,
  body.dashboard-page .operations-kpis.compact,
  body.dashboard-page .health-grid { grid-template-columns: 1fr; }
  body.dashboard-page .governance-bar-row { grid-template-columns: minmax(80px, 110px) minmax(90px, 1fr) 40px; }

  body.architect-page .architect-file-card { flex-direction: column; }
  body.architect-page .architect-file-info { width: 100%; min-width: 0; }
  body.architect-page .architect-file-actions { width: 100%; padding-left: 0; }
  body.architect-page .architect-file-actions .button,
  body.architect-page .architect-upload-actions .button,
  body.architect-page .architect-deploy-actions .button { width: 100%; }
  body.architect-page .architect-diagnostic-card { padding: 11px; }

  body.parity-page .parity-summary,
  body.parity-page .parity-controls { grid-template-columns: 1fr; }

  body.access-page .access-hero,
  body.access-page .access-feature-header,
  body.access-page .access-feature-footer,
  body.access-page .access-matrix-profile-header { flex-direction: column; align-items: stretch; }
  body.access-page .access-context-card { grid-template-columns: 1fr; }
  body.access-page .access-context-icon { display: none; }
  body.access-page .access-context-actions { width: 100%; justify-content: stretch; }
  body.access-page .access-context-actions .button { flex: 1 1 140px; }
  body.access-page .access-summary-grid { grid-template-columns: 1fr; }
  body.access-page .access-profile-checks { display: grid; grid-template-columns: 1fr; }
  body.access-page .access-feature-toggle { white-space: normal; }
}

@media (max-width: 420px) {
  body.dashboard-page .app-navigation { grid-template-columns: 1fr; }
  
  
  body.dashboard-page .experience-profile-control select { max-width: none; }
  body.interactions-page .result-summary-cards { grid-template-columns: 1fr; }
  body.dashboard-page .governance-bar-row { grid-template-columns: 1fr auto; }
  body.dashboard-page .governance-bar-track { grid-column: 1 / -1; grid-row: 2; }
  body.analytics-page .analytics-horizontal-row { grid-template-columns: 1fr auto; }
  body.analytics-page .analytics-horizontal-track { grid-column: 1 / -1; }
}

/* Public login/callback also remain usable on small screens. */
body:not(.dashboard-page) > main.card { width: min(560px, calc(100% - 24px)); margin-inline: auto; }
@media (max-width: 480px) {
  body:not(.dashboard-page) > main.card { width: calc(100% - 16px); padding: 18px 14px; }
  body:not(.dashboard-page) > main.card :is(input, select, button, .button) { width: 100%; min-height: 44px; }
}

/* ========================================================================== */
/* V3.11.0 — UX/UI Rebuild foundation: login, app shell and module launcher. */
/* ========================================================================== */

:root {
  --forge-shell-header-height: 66px;
  --forge-shell-context-height: 42px;
  --forge-module-rail-width: 70px;
  --forge-module-drawer-width: 360px;
  --forge-workspace-surface: #101a2d;
  --forge-workspace-surface-raised: #152238;
  --forge-workspace-surface-hover: #1b2b46;
  --forge-workspace-border: #263753;
  --forge-workspace-text: #edf3ff;
  --forge-workspace-muted: #8fa0bb;
}

/* Login deliberately contains no authentication-protocol details. */
body.forge-login-page {
  display: block;
  min-width: 320px;
  min-height: 100dvh;
  padding: 0;
  background: #07101f;
  color: #f3f6fb;
}
.forge-login-shell {
  min-height: 100dvh;
  display: grid;
  grid-template-columns: minmax(360px, 1.08fr) minmax(420px, .92fr);
}
.forge-login-brand-panel {
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 48px;
  padding: clamp(32px, 5vw, 72px);
  background:
    radial-gradient(circle at 18% 16%, color-mix(in srgb, var(--forge-color-primary, #ff451a) 18%, transparent), transparent 26rem),
    linear-gradient(145deg, #0b1830 0%, #07101f 72%);
  border-right: 1px solid #1c2b43;
}
.forge-login-brand-lockup { display: flex; align-items: center; gap: 13px; }
.forge-login-mark {
  width: 44px; height: 44px; display: grid; place-items: center;
  border-radius: 12px; background: var(--forge-color-primary, #ff451a); color: #fff;
  font-size: .8rem; font-weight: 900; letter-spacing: .05em;
}
.forge-login-brand-lockup strong { display: block; color: #fff; font-size: 1rem; }
.forge-login-eyebrow, .forge-login-kicker {
  margin: 0; color: #8fa0bb; font-size: .72rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase;
}
.forge-login-brand-copy { max-width: 720px; }
.forge-login-brand-copy h1 { max-width: 680px; margin: 14px 0 20px; font-size: clamp(2.2rem, 4.8vw, 4.65rem); line-height: 1.01; letter-spacing: -.055em; color: #fff; }
.forge-login-brand-copy p { max-width: 610px; margin: 0; color: #a9b6ca; font-size: clamp(1rem, 1.25vw, 1.16rem); line-height: 1.7; }
.forge-login-brand-footer { display: flex; justify-content: space-between; gap: 20px; color: #647694; font-size: .76rem; }
.forge-login-access-panel { display: grid; place-items: center; padding: clamp(28px, 5vw, 68px); background: #0b1424; }
.forge-login-access-card { width: min(460px, 100%); }
.forge-login-access-heading { margin-bottom: 34px; }
.forge-login-access-heading h2 { margin: 7px 0 8px; color: #fff; font-size: clamp(1.65rem, 2.7vw, 2.1rem); letter-spacing: -.035em; }
.forge-login-access-heading p { margin: 0; color: #8fa0bb; }
.forge-login-form { display: grid; gap: 9px; }
.forge-login-form label { margin: 0; color: #d8e1ef; font-size: .85rem; font-weight: 750; }
.forge-login-form input {
  width: 100%; min-height: 50px; padding: 12px 14px; border: 1px solid #354865; border-radius: 10px;
  background: #081221; color: #fff; box-shadow: inset 0 1px 0 rgba(255,255,255,.02);
}
.forge-login-form input:focus { border-color: var(--forge-color-primary, #ff451a); }
.forge-login-form small { color: #71839f; font-size: .76rem; line-height: 1.5; }
.forge-login-form button { min-height: 50px; margin-top: 18px; border-radius: 10px; }
.forge-login-status { margin: 16px 0 0; }
.forge-login-support { display: grid; gap: 4px; margin-top: 28px; padding-top: 22px; border-top: 1px solid #1f2e45; color: #6f819c; font-size: .76rem; line-height: 1.45; }
.forge-login-support span:first-child { color: #aab7ca; font-weight: 750; }

/* Authenticated shell: top navigation is no longer the primary module selector. */
body.dashboard-page.forge-shell-stable {
  --forge-page-gutter: clamp(16px, 2.2vw, 30px);
  padding-right: var(--forge-module-rail-width);
  background:
    radial-gradient(circle at 18% -10%, color-mix(in srgb, var(--forge-color-primary) 8%, transparent), transparent 30rem),
    #091221;
}

body.dashboard-page.forge-shell-stable .session-summary strong { font-size: .78rem; }
body.dashboard-page.forge-shell-stable .session-summary span { font-size: .7rem; }

body.dashboard-page.forge-shell-stable .forge-breadcrumb { font-size: .72rem; }
body.dashboard-page.forge-shell-stable .forge-context-status { min-height: 28px; background: #111e33; border-color: #2b3c58; }

/* Flat, product-like surfaces replace the old gradient-heavy cards. */
body.dashboard-page.forge-shell-stable :is(.panel, .card) {
  border-color: var(--forge-workspace-border);
  border-radius: 14px;
  background: var(--forge-workspace-surface);
  box-shadow: 0 8px 24px rgba(0,0,0,.12);
}
body.dashboard-page.forge-shell-stable :is(.panel, .card):has(.panel-heading) { overflow: clip; }
body.dashboard-page.forge-shell-stable .panel-heading { gap: 18px; }
body.dashboard-page.forge-shell-stable .panel-heading h2 { letter-spacing: -.02em; }
body.dashboard-page.forge-shell-stable :is(input, select, textarea) { background: #0b1526; border-color: #32445f; }
body.dashboard-page.forge-shell-stable .button.secondary { background: #15243b; border-color: #344967; }
body.dashboard-page.forge-shell-stable .button.ghost { border-color: #344967; }
body.dashboard-page.forge-shell-stable :is(.data-grid-wrapper, .table-scroll, .interaction-grid-wrapper, .parity-table-wrapper, .analytics-table-wrapper) {
  border-color: var(--forge-workspace-border); background: #0b1526;
}

/* Right rail inspired by enterprise CX workspaces; modules open in an internal drawer. */
.forge-module-rail {
  position: fixed; inset: 0 0 0 auto; z-index: 150;
  width: var(--forge-module-rail-width);
  display: flex; flex-direction: column; align-items: center; gap: 8px;
  padding: 10px 7px;
  border-left: 1px solid var(--forge-workspace-border);
  background: #0b1526;
  box-shadow: -8px 0 24px rgba(0,0,0,.14);
}
.forge-rail-action {
  width: 56px; min-height: 54px; margin: 0; padding: 7px 4px;
  display: grid; place-items: center; align-content: center; gap: 4px;
  border: 1px solid transparent; border-radius: 10px;
  background: transparent; color: #9cacc3; box-shadow: none;
  text-decoration: none; cursor: pointer;
}
.forge-rail-action:hover { background: #16253c; border-color: #2d405e; color: #fff; filter: none; }
.forge-rail-action svg { width: 21px; height: 21px; fill: currentColor; }
.forge-rail-action span { font-size: .62rem; font-weight: 750; }
.forge-rail-launcher[aria-expanded="true"] { color: #fff; background: color-mix(in srgb, var(--forge-color-primary) 15%, #15243b); border-color: color-mix(in srgb, var(--forge-color-primary) 48%, #2d405e); }
.forge-rail-current { margin-top: auto; width: 100%; padding: 9px 5px; border-top: 1px solid #263753; text-align: center; overflow: hidden; }
.forge-rail-current span, .forge-rail-current strong { display: block; text-overflow: ellipsis; white-space: nowrap; }
.forge-rail-current span { color: #667996; font-size: .55rem; text-transform: uppercase; letter-spacing: .05em; }
.forge-rail-current strong { margin-top: 3px; color: #a9b8ce; font-size: .62rem; }

.forge-module-backdrop {
  position: fixed; inset: 0 var(--forge-module-rail-width) 0 0; z-index: 138;
  width: auto; min-height: 0; margin: 0; padding: 0; border: 0; border-radius: 0;
  background: rgba(2, 7, 16, .54); box-shadow: none; backdrop-filter: blur(2px); cursor: default;
}
.forge-module-backdrop:hover { filter: none; }
.forge-module-drawer {
  position: fixed; top: 0; right: var(--forge-module-rail-width); bottom: 0; z-index: 145;
  width: min(var(--forge-module-drawer-width), calc(100vw - var(--forge-module-rail-width)));
  display: grid; grid-template-rows: auto auto minmax(0, 1fr) auto;
  border-left: 1px solid #2a3b57;
  background: #0e192b;
  box-shadow: -20px 0 54px rgba(0,0,0,.32);
  transform: translateX(calc(100% + var(--forge-module-rail-width)));
  visibility: hidden;
  transition: transform 180ms ease, visibility 180ms linear;
}
.forge-module-drawer[aria-hidden="false"] { transform: translateX(0); visibility: visible; }
.forge-module-drawer-header { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 18px 14px; border-bottom: 1px solid #24354f; }
.forge-module-drawer-header > div { display: grid; gap: 3px; }
.forge-module-drawer-header strong { color: #f4f7fc; font-size: 1rem; }
.forge-module-drawer-kicker { color: #71849f; font-size: .63rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.forge-module-close { width: 36px; min-height: 36px; margin: 0; padding: 8px; border: 1px solid #31435f; border-radius: 9px; background: #14233a; color: #b7c4d7; box-shadow: none; }
.forge-module-close:hover { background: #1b2d49; filter: none; }
.forge-module-close svg { display: block; width: 18px; height: 18px; }
.forge-module-search { position: relative; display: block; margin: 14px 14px 10px; }
.forge-module-search > svg { position: absolute; left: 12px; top: 50%; width: 17px; height: 17px; transform: translateY(-50%); color: #73849e; pointer-events: none; }
body.dashboard-page .forge-module-search input { min-height: 42px; padding-left: 38px; background: #0a1424; border-color: #30425f; }
.forge-module-drawer-body { min-height: 0; overflow: auto; overscroll-behavior: contain; padding: 4px 10px 18px; scrollbar-width: thin; }
.forge-module-drawer-footer { padding: 12px 16px; border-top: 1px solid #24354f; color: #697c98; font-size: .65rem; line-height: 1.4; }
body.dashboard-page .forge-module-navigation {
  width: 100%; max-width: none; min-width: 0; display: grid; gap: 6px; justify-self: stretch;
  overflow: visible; padding: 0; border: 0; border-radius: 0; background: transparent;
}
body.dashboard-page .forge-module-navigation > .nav-home-link {
  min-height: 44px; justify-content: flex-start; padding: 10px 12px; border: 1px solid transparent; border-radius: 9px; color: #aebbd0;
}
body.dashboard-page .forge-module-navigation > .nav-home-link:hover { border-color: #2d405e; background: #16253c; }
body.dashboard-page .forge-module-navigation .nav-group { position: static; border: 1px solid transparent; border-radius: 10px; }
body.dashboard-page .forge-module-navigation .nav-group.active,
body.dashboard-page .forge-module-navigation .nav-group[open] { border-color: #273a57; background: #101e33; }
body.dashboard-page .forge-module-navigation .nav-group-trigger {
  width: 100%; min-height: 44px; justify-content: space-between; padding: 10px 12px; border-radius: 9px; color: #aebbd0; font-size: .75rem;
}
body.dashboard-page .forge-module-navigation .nav-group.active > .nav-group-trigger { box-shadow: none; color: #fff; }
body.dashboard-page .forge-module-navigation .nav-group-menu {
  position: static; min-width: 0; gap: 3px; margin: 0; padding: 0 6px 7px;
  border: 0; border-radius: 0; background: transparent; box-shadow: none;
}
body.dashboard-page .forge-module-navigation .nav-group-menu .module-link {
  min-height: 42px; justify-content: flex-start; padding: 9px 12px; border: 0; border-radius: 8px;
  color: #9fadc2; font-size: .78rem; font-weight: 700;
}
body.dashboard-page .forge-module-navigation .nav-group-menu .module-link:hover { background: #192a44; color: #fff; }
body.dashboard-page .forge-module-navigation .nav-group-menu .module-link.active { background: color-mix(in srgb, var(--forge-color-primary) 14%, #182941); color: #fff; }
.forge-search-hidden { display: none !important; }

/* Home pilot. */
body.home-page.forge-shell-stable .home-shell { width: min(1480px, calc(100% - 2 * var(--forge-page-gutter))); margin: 24px auto 44px; gap: 18px; }
body.home-page.forge-shell-stable .home-hero { min-height: 220px; padding: clamp(26px, 4vw, 46px); border-color: #2b3d59; background: linear-gradient(120deg, #111f35, #0f1b2f); }
body.home-page.forge-shell-stable .home-hero h2 { max-width: 760px; font-size: clamp(2rem, 4vw, 3.2rem); letter-spacing: -.045em; line-height: 1.04; }
body.home-page.forge-shell-stable .home-lead { max-width: 760px; font-size: .98rem; line-height: 1.65; }
body.home-page.forge-shell-stable .home-primary-action { min-width: 270px; border: 1px solid #314663; border-radius: 13px; background: #15243b; box-shadow: none; }
body.home-page.forge-shell-stable .home-status-card { min-height: 112px; padding: 18px; background: #0f1b2f; }
body.home-page.forge-shell-stable .home-status-card strong { font-size: 1.05rem; }
body.home-page.forge-shell-stable .home-module-grid { gap: 10px; }
body.home-page.forge-shell-stable .home-module-card { min-height: 146px; border-color: #293b58; background: #101e33; box-shadow: none; }
body.home-page.forge-shell-stable .home-module-card:hover { border-color: color-mix(in srgb, var(--forge-color-primary) 52%, #354966); background: #15253d; transform: translateY(-1px); }

/* Archy pilot. */
body.architect-page.forge-shell-stable .architect-shell { width: min(1480px, calc(100% - 2 * var(--forge-page-gutter))); margin: 24px auto 44px; gap: 16px; }
body.architect-page.forge-shell-stable :is(.architect-upload-panel, .architect-deployment-panel, .architect-history-panel) { padding: 20px; }
body.architect-page.forge-shell-stable .architect-drop-zone { min-height: 250px; border-color: #47617f; background: #0c1829; }
body.architect-page.forge-shell-stable .architect-drop-zone:hover,
body.architect-page.forge-shell-stable .architect-drop-zone:focus-visible,
body.architect-page.forge-shell-stable .architect-drop-zone.is-dragging { background: #112038; border-color: color-mix(in srgb, var(--forge-color-primary) 50%, #607895); }
body.architect-page.forge-shell-stable .architect-result-card { border-color: #2a3d59; background: #0d192b; }
body.architect-page.forge-shell-stable .architect-diagnostic-card { background: #101d31; border-color: #2c405e; }
body.architect-page.forge-shell-stable .archy-validation-issues { background: #141a27; }
body.architect-page.forge-shell-stable .archy-diagnostic-output { padding: 14px; margin: 0; background: #080f1c; border-radius: 0 0 10px 10px; }

/* Light theme parity for the new shell. */
html[data-forge-theme-resolved="light"] body.dashboard-page.forge-shell-stable { background: #f4f7fb; }

html[data-forge-theme-resolved="light"] body.dashboard-page.forge-shell-stable :is(.panel, .card) { background: #fff; border-color: #d5dee9; }
html[data-forge-theme-resolved="light"] .forge-module-rail { background: #f8fafc; border-left-color: #d4dde8; box-shadow: -8px 0 24px rgba(29,48,76,.07); }
html[data-forge-theme-resolved="light"] .forge-rail-action { color: #52657d; }
html[data-forge-theme-resolved="light"] .forge-rail-action:hover { background: #eaf0f7; border-color: #c5d1df; color: #17263c; }
html[data-forge-theme-resolved="light"] .forge-module-drawer { background: #fff; border-left-color: #cdd8e5; box-shadow: -20px 0 54px rgba(29,48,76,.16); }
html[data-forge-theme-resolved="light"] .forge-module-drawer-header,
html[data-forge-theme-resolved="light"] .forge-module-drawer-footer { border-color: #d9e1ea; }
html[data-forge-theme-resolved="light"] .forge-module-drawer-header strong { color: #17263c; }
html[data-forge-theme-resolved="light"] .forge-module-close { background: #edf2f7; border-color: #cbd6e2; color: #445a75; }
html[data-forge-theme-resolved="light"] body.dashboard-page .forge-module-search input { background: #fff; border-color: #aebed1; color: #17263c; }
html[data-forge-theme-resolved="light"] body.dashboard-page .forge-module-navigation .nav-group.active,
html[data-forge-theme-resolved="light"] body.dashboard-page .forge-module-navigation .nav-group[open] { background: #f5f8fb; border-color: #d8e1eb; }
html[data-forge-theme-resolved="light"] body.dashboard-page .forge-module-navigation :is(.nav-group-trigger, .module-link, .nav-home-link) { color: #4d6078; }
html[data-forge-theme-resolved="light"] body.dashboard-page .forge-module-navigation .nav-group-menu .module-link:hover { background: #eaf0f7; color: #17263c; }
html[data-forge-theme-resolved="light"] body.home-page.forge-shell-stable :is(.home-hero, .home-status-card, .home-module-card, .home-primary-action),
html[data-forge-theme-resolved="light"] body.architect-page.forge-shell-stable :is(.architect-result-card, .architect-diagnostic-card) { background: #fff; border-color: #d5dee9; }

@media (max-width: 1180px) {
  
  
}
@media (max-width: 860px) {
  .forge-login-shell { grid-template-columns: 1fr; }
  .forge-login-brand-panel { min-height: 40dvh; padding: 30px; border-right: 0; border-bottom: 1px solid #1c2b43; }
  .forge-login-brand-copy h1 { font-size: clamp(2rem, 8vw, 3.1rem); }
  .forge-login-brand-footer { display: none; }
  .forge-login-access-panel { min-height: 60dvh; padding: 36px 24px; }
  
  
  body.dashboard-page.forge-shell-stable .session-summary { display: none; }
  body.dashboard-page.forge-shell-stable .experience-profile-control span,
  body.dashboard-page.forge-shell-stable .organization-context-caption { display: none; }
}
@media (max-width: 620px) {
  :root { --forge-module-rail-width: 62px; --forge-module-drawer-width: 330px; }
  body.dashboard-page.forge-shell-stable { padding-right: var(--forge-module-rail-width); }
  .forge-module-rail { padding-inline: 4px; }
  .forge-rail-action { width: 52px; }
  .forge-rail-current { display: none; }
  
  
  
  body.dashboard-page.forge-shell-stable .forge-context-status { display: none; }
  body.home-page.forge-shell-stable .home-shell,
  body.architect-page.forge-shell-stable .architect-shell { width: min(100% - 20px, 1480px); margin-top: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .forge-module-drawer { transition: none; }
}

/* ========================================================================== */
/* V3.11.1 — Unified Launcher: no global controls in the top area.             */
/* ========================================================================== */

body.dashboard-page.forge-shell-stable {
  min-height: 100dvh;
}

/* The launcher is the single global navigation/settings surface. */
.forge-module-drawer {
  --forge-module-drawer-width: 390px;
}

.forge-module-drawer-body {
  display: block;
  padding-bottom: 12px;
}

.forge-launcher-account {
  margin: 16px 2px 0;
  padding: 14px 8px 4px;
  border-top: 1px solid #263753;
}

.forge-launcher-section-heading {
  display: grid;
  gap: 3px;
  padding: 0 6px 10px;
}

.forge-launcher-section-heading span {
  color: #dbe5f3;
  font-size: .72rem;
  font-weight: 850;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.forge-launcher-section-heading small {
  color: #71849f;
  font-size: .66rem;
}

.forge-global-controls-host {
  display: grid;
  gap: 8px;
}

/* Global controls are moved from the non-visual shell source into the launcher. */
body.dashboard-page .forge-global-controls-host > .forge-global-controls-source {
  width: 100%;
  margin: 0;
  display: grid;
  grid-template-columns: 1fr;
  align-items: stretch;
  gap: 8px;
}

body.dashboard-page .forge-global-controls-host .session-summary {
  width: 100%;
  display: grid;
  gap: 4px;
  padding: 11px 12px;
  border: 1px solid #293c59;
  border-radius: 10px;
  background: #0b1628;
  text-align: left;
}

body.dashboard-page .forge-global-controls-host .session-summary strong {
  color: #eef4ff;
  font-size: .78rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.dashboard-page .forge-global-controls-host .session-summary > span:not(.storage-badge) {
  color: #8193ae;
  font-size: .68rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.dashboard-page .forge-global-controls-host :is(.personalization-launcher, #logout-button) {
  width: 100%;
  min-height: 42px;
  justify-content: flex-start;
  text-align: left;
  margin: 0;
}

body.dashboard-page .forge-global-controls-host #logout-button {
  border-color: #573448;
  background: #211725;
  color: #f1c7d3;
}

body.dashboard-page .forge-global-controls-host #logout-button:hover {
  border-color: #7d4058;
  background: #2b1a29;
}

body.dashboard-page .forge-global-controls-host .organization-context-switcher,
body.dashboard-page .forge-global-controls-host .experience-profile-control {
  width: 100%;
  min-width: 0;
  display: grid;
  gap: 5px;
  padding: 10px 12px;
  border: 1px solid #293c59;
  border-radius: 10px;
  background: #0b1628;
  color: #8598b3;
  font-size: .68rem;
  font-weight: 750;
}

body.dashboard-page .forge-global-controls-host :is(.organization-context-select, .experience-profile-control select) {
  width: 100%;
  max-width: none;
  min-height: 38px;
  margin: 0;
  background: #101e33;
  border-color: #314663;
}

body.dashboard-page .forge-global-controls-host :is(.live-badge, .storage-badge) {
  width: 100%;
  min-height: 34px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  margin: 0;
  padding: 7px 10px;
  border: 1px solid #293c59;
  border-radius: 9px;
  background: #0d192b;
  color: #8496b0;
  font-size: .66rem;
}

/* With no top shell, authenticated pages start directly at module content. */
body.home-page.forge-shell-stable .home-shell,
body.architect-page.forge-shell-stable .architect-shell {
  margin-top: 18px;
}

html[data-forge-theme-resolved="light"] .forge-launcher-account {
  border-top-color: #d9e1ea;
}
html[data-forge-theme-resolved="light"] .forge-launcher-section-heading span { color: #273b55; }
html[data-forge-theme-resolved="light"] .forge-launcher-section-heading small { color: #718198; }
html[data-forge-theme-resolved="light"] body.dashboard-page .forge-global-controls-host .session-summary,
html[data-forge-theme-resolved="light"] body.dashboard-page .forge-global-controls-host .organization-context-switcher,
html[data-forge-theme-resolved="light"] body.dashboard-page .forge-global-controls-host .experience-profile-control,
html[data-forge-theme-resolved="light"] body.dashboard-page .forge-global-controls-host :is(.live-badge, .storage-badge) {
  background: #f7f9fc;
  border-color: #d5dee9;
}
html[data-forge-theme-resolved="light"] body.dashboard-page .forge-global-controls-host .session-summary strong { color: #1e3048; }
html[data-forge-theme-resolved="light"] body.dashboard-page .forge-global-controls-host #logout-button {
  border-color: #e2c7ce;
  background: #fff7f8;
  color: #8a3349;
}

@media (max-width: 620px) {
  .forge-module-drawer { --forge-module-drawer-width: 350px; }
  body.home-page.forge-shell-stable .home-shell,
  body.architect-page.forge-shell-stable .architect-shell { margin-top: 10px; }
}

/* ========================================================================== */
/* V3.11.2 — Page Rebuild Pilots: Home + Archy                               */
/* ========================================================================== */

body.dashboard-page.forge-shell-stable .forge-page-foundation {
  width: min(1320px, calc(100% - 2 * var(--forge-page-gutter)));
  margin: 28px auto 48px;
  gap: 18px;
}

body.dashboard-page.forge-shell-stable .forge-page-foundation :is(.panel, .card) {
  border-radius: 12px;
  box-shadow: none;
}

.forge-page-header {
  min-width: 0;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 28px;
  padding: 2px 2px 20px;
  border-bottom: 1px solid var(--forge-workspace-border);
}

.forge-page-heading { min-width: 0; max-width: 820px; }
.forge-page-heading .eyebrow { margin-bottom: 7px; }
.forge-page-heading h2 {
  margin: 0;
  color: var(--text);
  font-size: clamp(1.65rem, 3vw, 2.15rem);
  font-weight: 760;
  letter-spacing: -.035em;
  line-height: 1.08;
}
.forge-page-description {
  margin: 10px 0 0;
  color: var(--muted);
  font-size: .9rem;
  line-height: 1.6;
}
.forge-page-description strong { color: var(--text); font-weight: 760; }

.forge-page-meta { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 7px; }
.forge-meta-pill,
.forge-step-indicator {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 32px;
  padding: 6px 10px;
  border: 1px solid #31445f;
  border-radius: 999px;
  background: #0d192b;
  color: #b7c5d9;
  font-size: .68rem;
  font-weight: 760;
  white-space: nowrap;
}
.forge-meta-pill.subtle { color: #8092ac; }
.forge-step-indicator strong {
  display: grid;
  place-items: center;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: color-mix(in srgb, var(--forge-color-primary) 18%, #16243a);
  color: #fff;
  font-size: .65rem;
}

.forge-context-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border: 1px solid var(--forge-workspace-border);
  border-radius: 12px;
  background: #0d192b;
  overflow: hidden;
}
.forge-context-item {
  min-width: 0;
  display: grid;
  gap: 5px;
  padding: 15px 17px;
  border-right: 1px solid var(--forge-workspace-border);
}
.forge-context-item:last-child { border-right: 0; }
.forge-context-item > span {
  color: #71839e;
  font-size: .61rem;
  font-weight: 820;
  letter-spacing: .07em;
  text-transform: uppercase;
}
.forge-context-item strong {
  color: #eef4ff;
  font-size: .9rem;
  line-height: 1.25;
  overflow-wrap: anywhere;
}
.forge-context-item small {
  color: #788ba7;
  font-size: .68rem;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.forge-page-section {
  min-width: 0;
  padding: 22px;
  border: 1px solid var(--forge-workspace-border);
  border-radius: 12px;
  background: var(--forge-workspace-surface);
}
.forge-section-header {
  min-width: 0;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 18px;
}
.forge-section-header.compact { align-items: center; margin-bottom: 14px; }
.forge-section-header > div { min-width: 0; }
.forge-section-header .eyebrow { margin: 0 0 5px; }
.forge-section-header h3,
.forge-section-header h4 {
  margin: 0;
  color: var(--text);
  font-size: 1.02rem;
  font-weight: 760;
  letter-spacing: -.02em;
}
.forge-section-header h4 { font-size: .94rem; }
.forge-section-header .muted { margin: 5px 0 0; max-width: 720px; font-size: .76rem; line-height: 1.5; }
.forge-section-hint { color: #7487a2; font-size: .68rem; white-space: nowrap; }

.forge-empty-state {
  display: grid;
  gap: 4px;
  place-items: center;
  min-height: 160px;
  padding: 24px;
  border: 1px dashed #31445f;
  border-radius: 10px;
  color: #7e91ad;
  text-align: center;
}
.forge-empty-state strong { color: #cbd6e7; font-size: .85rem; }
.forge-empty-state span { max-width: 480px; font-size: .72rem; line-height: 1.5; }

/* Home pilot */
body.home-page.forge-shell-stable .home-primary-action.forge-page-action {
  flex: 0 0 280px;
  min-width: 240px;
  padding: 13px 14px;
  border: 1px solid #2d405c;
  border-radius: 10px;
  background: #0d192b;
}
body.home-page.forge-shell-stable .home-primary-action::before,
body.home-page.forge-shell-stable .home-hero::after { display: none; }
body.home-page.forge-shell-stable .home-primary-action strong { margin: 3px 0 0; font-size: .88rem; }
body.home-page.forge-shell-stable .home-primary-action p { margin: 4px 0 10px; color: #788aa5; font-size: .68rem; line-height: 1.4; }
body.home-page.forge-shell-stable .home-primary-label { font-size: .58rem; color: #6f819d; }
body.home-page.forge-shell-stable .home-primary-action .button { min-height: 34px; padding: 7px 11px; font-size: .7rem; }

body.home-page.forge-shell-stable .home-modules-panel { padding: 22px; }
body.home-page.forge-shell-stable .home-module-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 0;
}
body.home-page.forge-shell-stable .home-module-card {
  min-height: 154px;
  padding: 16px;
  border: 1px solid #283b56;
  border-radius: 10px;
  background: #0b1628;
  box-shadow: none;
  transform: none;
}
body.home-page.forge-shell-stable .home-module-card:hover {
  border-color: #49617f;
  background: #101e33;
  transform: none;
}
body.home-page.forge-shell-stable .home-module-area {
  color: #70829e;
  font-size: .58rem;
  letter-spacing: .07em;
}
body.home-page.forge-shell-stable .home-module-card strong {
  margin: 10px 0 6px;
  color: #edf3fd;
  font-size: .93rem;
  letter-spacing: -.01em;
}
body.home-page.forge-shell-stable .home-module-card p { color: #7d8ea8; font-size: .7rem; line-height: 1.48; }
body.home-page.forge-shell-stable .home-module-open { color: #9fb4d0; font-size: .66rem; }
body.home-page.forge-shell-stable .home-count-badge {
  min-height: 30px;
  padding: 6px 9px;
  border: 1px solid #30435f;
  border-radius: 999px;
  background: transparent;
  color: #8294ae;
  font-size: .64rem;
}

body.home-page.forge-shell-stable .home-environment-section { padding-bottom: 8px; }
body.home-page.forge-shell-stable .forge-facts-row {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0;
  border-top: 1px solid var(--forge-workspace-border);
}
body.home-page.forge-shell-stable .forge-facts-row div {
  min-width: 0;
  padding: 14px 16px 14px 0;
  border: 0;
}
body.home-page.forge-shell-stable .forge-facts-row dt { color: #70819b; font-size: .61rem; }
body.home-page.forge-shell-stable .forge-facts-row dd { color: #cbd6e6; font-size: .75rem; font-weight: 700; }

/* Archy pilot */
body.architect-page.forge-shell-stable .architect-shell.forge-page-foundation { width: min(1320px, calc(100% - 2 * var(--forge-page-gutter))); }
body.architect-page.forge-shell-stable :is(.architect-upload-panel, .architect-deployment-panel, .architect-history-panel) {
  padding: 22px;
  border: 1px solid var(--forge-workspace-border);
  border-radius: 12px;
  background: var(--forge-workspace-surface);
  box-shadow: none;
}
body.architect-page.forge-shell-stable .architect-page-header { padding-inline: 2px; }
body.architect-page.forge-shell-stable .architect-upload-form { gap: 14px; }
body.architect-page.forge-shell-stable .architect-drop-zone {
  min-height: 220px;
  padding: 26px;
  border: 1px dashed #3b5270;
  border-radius: 10px;
  background: #0a1525;
  box-shadow: none;
  transition: border-color 120ms ease, background-color 120ms ease;
}
body.architect-page.forge-shell-stable .architect-drop-zone:hover,
body.architect-page.forge-shell-stable .architect-drop-zone:focus-visible,
body.architect-page.forge-shell-stable .architect-drop-zone.is-dragging {
  border-color: #657d9d;
  background: #0e1c30;
  transform: none;
}
body.architect-page.forge-shell-stable .architect-upload-icon {
  width: 42px;
  height: 42px;
  margin-bottom: 5px;
  color: #9fb2cc;
}
body.architect-page.forge-shell-stable .architect-drop-copy strong { color: #e9f0fb; font-size: .94rem; }
body.architect-page.forge-shell-stable .architect-drop-copy span,
body.architect-page.forge-shell-stable .architect-drop-zone small { color: #71849f; font-size: .7rem; }
body.architect-page.forge-shell-stable .architect-upload-actions {
  margin-top: 2px;
  padding-top: 14px;
  border-top: 1px solid var(--forge-workspace-border);
}
body.architect-page.forge-shell-stable .architect-preflight-note strong { color: #cdd8e8; font-size: .72rem; }
body.architect-page.forge-shell-stable .architect-preflight-note span { color: #71839d; font-size: .67rem; }

body.architect-page.forge-shell-stable .architect-metadata {
  margin: 0 0 14px;
  padding: 12px 0;
  border-top: 1px solid var(--forge-workspace-border);
  border-bottom: 1px solid var(--forge-workspace-border);
}
body.architect-page.forge-shell-stable .architect-result-grid {
  grid-template-columns: minmax(0, .9fr) minmax(430px, 1.1fr);
  gap: 12px;
  margin-top: 0;
}
body.architect-page.forge-shell-stable .architect-result-card {
  padding: 16px;
  border: 1px solid #283b56;
  border-radius: 10px;
  background: #0b1628;
  box-shadow: none;
}
body.architect-page.forge-shell-stable .architect-result-card .panel-heading { margin-bottom: 12px; }
body.architect-page.forge-shell-stable .architect-diagnostic-card {
  border-radius: 9px;
  background: #0e1a2c;
  box-shadow: none;
}
body.architect-page.forge-shell-stable .archy-validation-issues {
  margin-top: 12px;
  border: 1px solid #313d53;
  border-radius: 9px;
  background: #0a1321;
  overflow: hidden;
}
body.architect-page.forge-shell-stable .archy-validation-issues-heading { padding: 12px 14px; border-bottom: 1px solid #2a374b; }
body.architect-page.forge-shell-stable .archy-validation-issues-heading h4 { margin: 3px 0 0; font-size: .8rem; }
body.architect-page.forge-shell-stable .archy-diagnostic-output {
  max-height: 30rem;
  padding: 14px;
  background: #070e19;
  font-size: .72rem;
  line-height: 1.55;
}
body.architect-page.forge-shell-stable .architect-technical-details { margin-top: 12px; }
body.architect-page.forge-shell-stable .architect-deploy-actions {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid var(--forge-workspace-border);
}
body.architect-page.forge-shell-stable .architect-history-panel .data-grid-wrapper { margin-top: 4px; }

/* Light parity for page pilots. */
html[data-forge-theme-resolved="light"] .forge-context-strip,
html[data-forge-theme-resolved="light"] .forge-context-item,
html[data-forge-theme-resolved="light"] .forge-meta-pill,
html[data-forge-theme-resolved="light"] .forge-step-indicator,
html[data-forge-theme-resolved="light"] body.home-page.forge-shell-stable .home-module-card,
html[data-forge-theme-resolved="light"] body.home-page.forge-shell-stable .home-primary-action.forge-page-action,
html[data-forge-theme-resolved="light"] body.architect-page.forge-shell-stable .architect-drop-zone,
html[data-forge-theme-resolved="light"] body.architect-page.forge-shell-stable .architect-result-card,
html[data-forge-theme-resolved="light"] body.architect-page.forge-shell-stable .architect-diagnostic-card {
  background: #fff;
  border-color: #d6dfe9;
}
html[data-forge-theme-resolved="light"] .forge-context-item strong,
html[data-forge-theme-resolved="light"] body.home-page.forge-shell-stable .home-module-card strong,
html[data-forge-theme-resolved="light"] body.architect-page.forge-shell-stable .architect-drop-copy strong { color: #1b2c43; }
html[data-forge-theme-resolved="light"] body.home-page.forge-shell-stable .home-module-card:hover { background: #f7f9fc; border-color: #aebed0; }
html[data-forge-theme-resolved="light"] body.architect-page.forge-shell-stable .archy-validation-issues { background: #f7f9fc; border-color: #d4dee8; }
html[data-forge-theme-resolved="light"] body.architect-page.forge-shell-stable .archy-diagnostic-output { background: #f3f6fa; color: #20324a; }

@media (max-width: 1100px) {
  .forge-context-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .forge-context-item:nth-child(2) { border-right: 0; }
  .forge-context-item:nth-child(-n+2) { border-bottom: 1px solid var(--forge-workspace-border); }
  body.home-page.forge-shell-stable .home-module-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.home-page.forge-shell-stable .forge-facts-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.architect-page.forge-shell-stable .architect-result-grid { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  body.dashboard-page.forge-shell-stable .forge-page-foundation { width: min(100% - 20px, 1320px); margin-top: 18px; }
  .forge-page-header { align-items: stretch; flex-direction: column; gap: 14px; }
  body.home-page.forge-shell-stable .home-primary-action.forge-page-action { flex-basis: auto; width: 100%; }
  .forge-context-strip,
  body.home-page.forge-shell-stable .home-module-grid,
  body.home-page.forge-shell-stable .forge-facts-row { grid-template-columns: 1fr; }
  .forge-context-item { border-right: 0; border-bottom: 1px solid var(--forge-workspace-border); }
  .forge-context-item:last-child { border-bottom: 0; }
  .forge-section-header { align-items: stretch; flex-direction: column; }
  .forge-section-hint { white-space: normal; }
  body.architect-page.forge-shell-stable :is(.architect-upload-panel, .architect-deployment-panel, .architect-history-panel),
  .forge-page-section { padding: 16px; }
}

/* ========================================================================== */
/* V3.11.3 — Interactions + Data Tables rebuild                              */
/* ========================================================================== */

body.dashboard-page.forge-shell-stable .forge-data-workspace {
  width: min(1540px, calc(100% - 2 * var(--forge-page-gutter)));
  margin: 28px auto 48px;
}

/* Shared work surfaces */
body.forge-data-page .forge-page-section {
  border-color: var(--forge-workspace-border);
  border-radius: 12px;
  background: var(--forge-workspace-surface);
  box-shadow: none;
}
body.forge-data-page :is(.button, .icon-button, input, select, textarea) {
  border-radius: 8px;
}
body.forge-data-page :is(.button, .icon-button) { box-shadow: none; }
body.forge-data-page .loading-block {
  border-color: #32465f;
  border-radius: 9px;
  background: #0a1525;
}

/* -------------------------------------------------------------------------- */
/* Interactions                                                               */
/* -------------------------------------------------------------------------- */
body.interactions-page.forge-shell-stable .interactions-workspace.forge-data-workspace {
  display: grid;
  gap: 14px;
  padding: 0;
}
body.interactions-page.forge-shell-stable .interactions-search-section {
  overflow: visible;
  padding: 0;
}
body.interactions-page.forge-shell-stable .interactions-page-header {
  align-items: flex-end;
  margin: 0;
  padding: 21px 22px 18px;
  border-bottom: 1px solid var(--forge-workspace-border);
}
body.interactions-page.forge-shell-stable .interactions-page-header .analytics-breadcrumb {
  margin: 0 0 6px;
  color: #7487a2 !important;
  font-size: .61rem;
  font-weight: 820;
  letter-spacing: .07em;
  text-transform: uppercase;
}
body.interactions-page.forge-shell-stable .interactions-page-header h2 {
  color: var(--text);
  font-size: clamp(1.5rem, 2.5vw, 1.95rem);
  font-weight: 760;
  letter-spacing: -.03em;
}
body.interactions-page.forge-shell-stable .interactions-page-header .muted {
  max-width: 760px;
  margin-top: 8px;
  color: #7f90a9;
  font-size: .78rem;
  line-height: 1.5;
}
body.interactions-page.forge-shell-stable .database-source-pill {
  min-height: 32px;
  padding: 6px 10px;
  border: 1px solid #294f46;
  border-radius: 999px;
  background: #10251f;
  color: #8fd2b7;
  font-size: .66rem;
}

body.interactions-page.forge-shell-stable .forge-toolbar {
  min-height: auto;
  padding: 10px 14px;
  border-bottom: 1px solid var(--forge-workspace-border);
  background: #0d192b;
}
body.interactions-page.forge-shell-stable :is(.saved-view-controls, .toolbar-actions) { flex-wrap: wrap; }
body.interactions-page.forge-shell-stable .compact-field span { color: #7c8ea8; }
body.interactions-page.forge-shell-stable .compact-field select {
  min-width: 170px;
  min-height: 34px;
}

body.interactions-page.forge-shell-stable .forge-filter-presets {
  min-height: 40px;
  padding: 6px 14px;
  border-bottom: 1px solid var(--forge-workspace-border);
  background: #0b1628;
  scrollbar-width: thin;
}
body.interactions-page.forge-shell-stable .forge-filter-presets > span:first-child,
body.interactions-page.forge-shell-stable .timezone-label { color: #7588a2; }
body.interactions-page.forge-shell-stable .date-preset {
  min-height: 29px;
  border-radius: 7px;
  color: #9aabc1;
}
body.interactions-page.forge-shell-stable .date-preset:hover,
body.interactions-page.forge-shell-stable .date-preset.active {
  border-color: #3b5270;
  background: #15243b;
  color: #eef4ff;
}

body.interactions-page.forge-shell-stable .forge-filter-surface { padding: 15px 16px 14px; }
body.interactions-page.forge-shell-stable .forge-filter-primary {
  grid-template-columns: 178px 178px minmax(230px, 1fr) 150px 128px;
  gap: 10px;
}
body.interactions-page.forge-shell-stable .interaction-filter-form label > span {
  color: #8192aa;
  font-size: .67rem;
  font-weight: 760;
}
body.interactions-page.forge-shell-stable .interaction-filter-form :is(input, select) {
  min-height: 38px;
  border-color: #30435f;
  background: #0a1525;
  color: #e5edf9;
}
body.interactions-page.forge-shell-stable .interaction-page-size-control small {
  margin-top: 4px;
  color: #657792;
  font-size: .61rem;
}
body.interactions-page.forge-shell-stable .advanced-filter-panel {
  margin-top: 14px;
  padding: 0;
  border: 1px solid #2a3d59;
  border-radius: 10px;
  background: #0a1525;
  overflow: hidden;
}
body.interactions-page.forge-shell-stable .advanced-filter-panel .forge-disclosure {
  margin: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}
body.interactions-page.forge-shell-stable .advanced-filter-panel .forge-disclosure + .forge-disclosure {
  border-top: 1px solid #253850;
}
body.interactions-page.forge-shell-stable .filter-extension-card {
  border-color: #293d58;
  border-radius: 9px;
  background: #0d192b;
}
body.interactions-page.forge-shell-stable .filter-extension-card legend { color: #9fb3cf; }
body.interactions-page.forge-shell-stable .field-help { color: #71839d !important; }
body.interactions-page.forge-shell-stable .active-filter-chips { min-height: 30px; padding-top: 9px; }
body.interactions-page.forge-shell-stable .filter-chip {
  border-color: #314762;
  background: #101e33;
  color: #a9b9cf;
}
body.interactions-page.forge-shell-stable .forge-filter-actions {
  margin-top: 10px;
  padding-top: 12px;
  border-top: 1px solid #24364f;
}
body.interactions-page.forge-shell-stable .interaction-fetch-policy {
  max-width: 420px;
  text-align: right;
}
body.interactions-page.forge-shell-stable .interaction-fetch-policy strong {
  display: block;
  color: #aebed3;
  font-size: .67rem;
}
body.interactions-page.forge-shell-stable .interaction-fetch-policy .muted { font-size: .63rem; }

body.interactions-page.forge-shell-stable .interactions-results-section {
  padding: 0;
  overflow: hidden;
}
body.interactions-page.forge-shell-stable .content-tabs {
  min-height: 44px;
  padding: 0 16px;
  border-bottom-color: var(--forge-workspace-border);
  background: #0b1628;
}
body.interactions-page.forge-shell-stable .content-tab {
  min-height: 44px;
  color: #8293aa;
}
body.interactions-page.forge-shell-stable .content-tab.active {
  border-bottom-color: var(--forge-color-primary);
  color: #eef4ff;
}
body.interactions-page.forge-shell-stable .forge-results-summary {
  align-items: center;
  padding: 10px 14px;
  border-bottom: 1px solid #22354e;
  background: #0d192b;
}
body.interactions-page.forge-shell-stable .result-summary-cards {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
body.interactions-page.forge-shell-stable .mini-stat{
  min-width: 108px;
  padding: 7px 10px;
  border: 1px solid #293e59;
  border-radius: 8px;
  background: #0a1525;
}
body.interactions-page.forge-shell-stable .mini-stat span { color: #71839d; font-size: .61rem; }
body.interactions-page.forge-shell-stable .mini-stat strong { color: #dbe5f3; font-size: .78rem; }
body.interactions-page.forge-shell-stable .interaction-grid-wrapper {
  min-height: 420px;
  border: 0;
  border-radius: 0;
  background: #091321;
}
body.interactions-page.forge-shell-stable .interaction-grid th {
  position: sticky;
  top: 0;
  z-index: 2;
  background: #101c2e !important;
  color: #91a3bb !important;
  border-color: #24364e !important;
}
body.interactions-page.forge-shell-stable .interaction-grid td {
  border-color: #1d2e45 !important;
  background: #0b1627;
  color: #c8d3e2;
}
body.interactions-page.forge-shell-stable .interaction-grid tbody tr:nth-child(even) td { background: #0d192b; }
body.interactions-page.forge-shell-stable .interaction-grid tbody tr:hover td { background: #14233a; }
body.interactions-page.forge-shell-stable .results-footer {
  min-height: 52px;
  padding: 10px 14px;
  border-top: 1px solid #24364e;
  background: #0b1628;
}

/* -------------------------------------------------------------------------- */
/* Data Tables                                                                */
/* -------------------------------------------------------------------------- */
body.datatables-page.forge-shell-stable .datatables-workspace.forge-data-workspace {
  display: grid;
  grid-template-columns: minmax(270px, 330px) minmax(0, 1fr);
  align-items: start;
  gap: 14px;
  min-height: 0;
  padding: 0;
}
body.datatables-page.forge-shell-stable .datatables-page-header {
  grid-column: 1 / -1;
  margin: 0;
  padding: 2px 2px 18px;
}
body.datatables-page.forge-shell-stable .datatables-catalog {
  position: sticky;
  top: 18px;
  align-self: start;
  max-height: calc(100vh - 36px);
  padding: 16px;
  overflow: hidden;
}
body.datatables-page.forge-shell-stable .datatables-catalog .panel-heading {
  align-items: center;
  padding-bottom: 12px;
  border-bottom: 1px solid #253850;
}
body.datatables-page.forge-shell-stable .datatables-catalog .panel-heading h2 {
  margin: 2px 0 0;
  font-size: .95rem;
  letter-spacing: -.015em;
}
body.datatables-page.forge-shell-stable .datatables-catalog .search-form {
  margin-top: 12px;
}
body.datatables-page.forge-shell-stable .datatables-catalog .search-form input {
  min-width: 0;
  min-height: 38px;
}
body.datatables-page.forge-shell-stable .catalog-options {
  margin: 10px 0 6px;
  padding: 8px 0;
  border-bottom: 1px solid #22354e;
}
body.datatables-page.forge-shell-stable .catalog-options label { color: #74869f; font-size: .67rem; }
body.datatables-page.forge-shell-stable .catalog-options select { min-height: 34px; }
body.datatables-page.forge-shell-stable .table-list {
  margin-top: 4px;
  padding-right: 3px;
}
body.datatables-page.forge-shell-stable .table-list li + li { margin-top: 4px; }
body.datatables-page.forge-shell-stable .table-list-item {
  gap: 3px;
  padding: 10px 11px;
  border: 1px solid transparent;
  border-radius: 8px;
  background: transparent;
  color: #c9d4e3;
}
body.datatables-page.forge-shell-stable .table-list-item:hover {
  border-color: #30455f;
  background: #101e33;
}
body.datatables-page.forge-shell-stable .table-list-item.active {
  border-color: #46617f;
  background: #15243b;
}
body.datatables-page.forge-shell-stable .table-list-item span { color: #aebed2; font-size: .7rem; }
body.datatables-page.forge-shell-stable .table-list-item small { color: #71839d; font-size: .66rem; }
body.datatables-page.forge-shell-stable .compact-pagination {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid #22354e;
}

body.datatables-page.forge-shell-stable .datatables-content {
  min-height: min(720px, calc(100vh - 120px));
  padding: 20px;
}
body.datatables-page.forge-shell-stable .datatables-content > .empty-state {
  min-height: 520px;
}
body.datatables-page.forge-shell-stable .datatables-content .empty-icon {
  margin: 0 0 8px;
  color: #7f93ad;
  font-size: 2.4rem;
}
body.datatables-page.forge-shell-stable .datatables-content .empty-state h2 {
  margin: 0;
  color: #dfe8f5;
  font-size: 1.05rem;
}
body.datatables-page.forge-shell-stable .datatables-content .empty-state p {
  color: #7486a0;
  font-size: .75rem;
  line-height: 1.5;
}
body.datatables-page.forge-shell-stable .workspace-heading {
  align-items: flex-start;
  margin: 0;
  padding: 0 0 15px;
  border-bottom: 1px solid #253850;
}
body.datatables-page.forge-shell-stable .workspace-heading h2 {
  margin: 3px 0 0;
  font-size: 1.3rem;
  letter-spacing: -.025em;
}
body.datatables-page.forge-shell-stable .workspace-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 7px; }
body.datatables-page.forge-shell-stable .datatables-metadata {
  grid-template-columns: 1.35fr 1fr .75fr 1fr 1.3fr;
  gap: 0;
  margin: 14px 0;
  border: 1px solid #263a54;
  border-radius: 10px;
  background: #0a1525;
  overflow: hidden;
}
body.datatables-page.forge-shell-stable .datatables-metadata div {
  padding: 11px 12px;
  border: 0;
  border-right: 1px solid #263a54;
  border-radius: 0;
  background: transparent;
}
body.datatables-page.forge-shell-stable .datatables-metadata div:last-child { border-right: 0; }
body.datatables-page.forge-shell-stable .datatables-metadata dt {
  color: #6e8099;
  font-size: .59rem;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
}
body.datatables-page.forge-shell-stable .datatables-metadata dd {
  margin-top: 4px;
  color: #c8d4e4;
  font-size: .72rem;
}
body.datatables-page.forge-shell-stable .schema-details {
  margin: 0 0 14px;
  border-color: #293d58;
  border-radius: 9px;
  background: #0a1525;
}
body.datatables-page.forge-shell-stable .schema-details summary {
  color: #9aadc6;
  font-size: .7rem;
}
body.datatables-page.forge-shell-stable .datatables-row-toolbar {
  align-items: flex-end;
  margin: 14px 0 10px;
  padding: 12px;
  border: 1px solid #293d58;
  border-radius: 10px;
  background: #0d192b;
}
body.datatables-page.forge-shell-stable .lookup-form label,
body.datatables-page.forge-shell-stable .row-options label { color: #7587a0; font-size: .66rem; }
body.datatables-page.forge-shell-stable .row-options { flex-wrap: wrap; justify-content: flex-end; }
body.datatables-page.forge-shell-stable .enrichment-toggle {
  flex: 1 1 100%;
  justify-content: flex-end;
}
body.datatables-page.forge-shell-stable .lookup-result {
  border-color: #314965;
  border-radius: 10px;
  background: #0c192b;
}
body.datatables-page.forge-shell-stable .datatables-grid-wrapper {
  border-color: #263a54;
  border-radius: 10px;
  background: #091321;
}
body.datatables-page.forge-shell-stable .data-grid th {
  position: sticky;
  top: 0;
  z-index: 2;
  background: #101c2e;
  color: #91a3bb;
  font-size: .66rem;
  font-weight: 760;
}
body.datatables-page.forge-shell-stable .data-grid td {
  background: #0b1627;
  color: #c7d2e1;
  font-size: .73rem;
}
body.datatables-page.forge-shell-stable .data-grid tbody tr:nth-child(even) td { background: #0d192b; }
body.datatables-page.forge-shell-stable .data-grid tbody tr:hover td { background: #14233a; }
body.datatables-page.forge-shell-stable .rows-footer {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid #24364e;
}

/* Light theme counterparts */
html[data-forge-theme-resolved="light"] body.interactions-page.forge-shell-stable .forge-toolbar,
html[data-forge-theme-resolved="light"] body.interactions-page.forge-shell-stable .forge-filter-presets,
html[data-forge-theme-resolved="light"] body.interactions-page.forge-shell-stable .content-tabs,
html[data-forge-theme-resolved="light"] body.interactions-page.forge-shell-stable .forge-results-summary,
html[data-forge-theme-resolved="light"] body.interactions-page.forge-shell-stable .results-footer,
html[data-forge-theme-resolved="light"] body.datatables-page.forge-shell-stable .datatables-row-toolbar {
  background: #f7f9fc;
}
html[data-forge-theme-resolved="light"] body.interactions-page.forge-shell-stable .interaction-filter-form :is(input, select),
html[data-forge-theme-resolved="light"] body.interactions-page.forge-shell-stable .advanced-filter-panel,
html[data-forge-theme-resolved="light"] body.interactions-page.forge-shell-stable .filter-extension-card,
html[data-forge-theme-resolved="light"] body.interactions-page.forge-shell-stable .mini-stat,
html[data-forge-theme-resolved="light"] body.datatables-page.forge-shell-stable .datatables-metadata,
html[data-forge-theme-resolved="light"] body.datatables-page.forge-shell-stable .schema-details {
  background: #fff;
  border-color: #d7e0ea;
  color: #24354d;
}
html[data-forge-theme-resolved="light"] body.datatables-page.forge-shell-stable .table-list-item:hover { background: #f3f6fa; }
html[data-forge-theme-resolved="light"] body.datatables-page.forge-shell-stable .table-list-item.active { background: #eaf0f7; }
html[data-forge-theme-resolved="light"] body.datatables-page.forge-shell-stable .data-grid th,
html[data-forge-theme-resolved="light"] body.interactions-page.forge-shell-stable .interaction-grid th { background: #f2f5f9 !important; color: #52647a !important; }
html[data-forge-theme-resolved="light"] body.datatables-page.forge-shell-stable .data-grid td,
html[data-forge-theme-resolved="light"] body.interactions-page.forge-shell-stable .interaction-grid td { background: #fff; color: #2c3d54; }
html[data-forge-theme-resolved="light"] body.datatables-page.forge-shell-stable .data-grid tbody tr:nth-child(even) td,
html[data-forge-theme-resolved="light"] body.interactions-page.forge-shell-stable .interaction-grid tbody tr:nth-child(even) td { background: #fafbfd; }

@media (max-width: 1180px) {
  body.interactions-page.forge-shell-stable .forge-filter-primary {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  body.datatables-page.forge-shell-stable .datatables-metadata {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  body.datatables-page.forge-shell-stable .datatables-metadata div { border-bottom: 1px solid #263a54; }
}

@media (max-width: 920px) {
  body.datatables-page.forge-shell-stable .datatables-workspace.forge-data-workspace {
    grid-template-columns: 1fr;
  }
  body.datatables-page.forge-shell-stable .datatables-page-header { grid-column: 1; }
  body.datatables-page.forge-shell-stable .datatables-catalog {
    position: static;
    max-height: 420px;
  }
  body.interactions-page.forge-shell-stable .forge-toolbar,
  body.interactions-page.forge-shell-stable .forge-filter-actions,
  body.interactions-page.forge-shell-stable .forge-results-summary {
    align-items: stretch;
    flex-direction: column;
  }
  body.interactions-page.forge-shell-stable .interaction-fetch-policy { max-width: none; text-align: left; }
}

@media (max-width: 760px) {
  body.dashboard-page.forge-shell-stable .forge-data-workspace {
    width: min(100% - 18px, 1540px);
    margin-top: 14px;
  }
  body.interactions-page.forge-shell-stable .forge-filter-primary,
  body.datatables-page.forge-shell-stable .datatables-metadata {
    grid-template-columns: 1fr;
  }
  body.datatables-page.forge-shell-stable .datatables-metadata div {
    border-right: 0;
    border-bottom: 1px solid #263a54;
  }
  body.datatables-page.forge-shell-stable .datatables-metadata div:last-child { border-bottom: 0; }
  body.datatables-page.forge-shell-stable .datatables-row-toolbar { align-items: stretch; flex-direction: column; }
  body.datatables-page.forge-shell-stable .row-options { justify-content: flex-start; }
  body.datatables-page.forge-shell-stable .enrichment-toggle { justify-content: flex-start; }
}

/* ========================================================================== */
/* V3.11.4 — Analytics workspace rebuild                                      */
/* ========================================================================== */
body.analytics-page.forge-shell-stable .analytics-layout.forge-analytics-workspace {
  width: min(calc(100% - 36px), 1640px);
  min-height: calc(100vh - 36px);
  margin: 18px auto 28px;
  padding: 0;
  grid-template-columns: 292px minmax(0, 1fr);
  grid-template-rows: auto minmax(0, 1fr);
  gap: 14px;
  align-items: start;
}
body.analytics-page.forge-shell-stable .analytics-page-header {
  grid-column: 1 / -1;
  margin: 0;
  padding: 2px 2px 18px;
}
body.analytics-page.forge-shell-stable .analytics-page-header h2 {
  margin: 3px 0 5px;
  font-size: clamp(1.45rem, 2vw, 2rem);
  letter-spacing: -.035em;
}
body.analytics-page.forge-shell-stable .analytics-page-header p { max-width: 820px; }
body.analytics-page.forge-shell-stable .analytics-page-source {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 34px;
  padding: 7px 10px;
  border: 1px solid #293d58;
  border-radius: 999px;
  background: #0a1525;
  color: #9eb0c7;
  font-size: .68rem;
  font-weight: 760;
  white-space: nowrap;
}
body.analytics-page.forge-shell-stable .analytics-page-source .source-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--forge-color-success);
  box-shadow: none;
}

body.analytics-page.forge-shell-stable .analytics-sidebar {
  position: sticky;
  top: 18px;
  max-height: calc(100vh - 36px);
  padding: 15px;
  overflow: auto;
  border: 1px solid #263a54;
  border-radius: 12px;
  background: #0b1627;
  box-shadow: none;
  scrollbar-width: thin;
}
body.analytics-page.forge-shell-stable .analytics-sidebar-heading {
  align-items: center;
  margin: 0;
  padding: 0 0 11px;
  border-bottom: 1px solid #22354e;
}
body.analytics-page.forge-shell-stable .analytics-sidebar-heading h2 {
  margin: 2px 0 0;
  font-size: .94rem;
  letter-spacing: -.015em;
}
body.analytics-page.forge-shell-stable .analytics-sidebar .analytics-note {
  margin: 10px 0;
  color: #7587a0;
  font-size: .68rem;
  line-height: 1.45;
}
body.analytics-page.forge-shell-stable .dashboard-list {
  display: grid;
  gap: 4px;
  margin-top: 6px;
}
body.analytics-page.forge-shell-stable .dashboard-list-item {
  min-height: 0;
  padding: 10px 11px;
  border: 1px solid transparent;
  border-radius: 8px;
  background: transparent;
  box-shadow: none;
  transform: none;
  color: #c9d5e5;
}
body.analytics-page.forge-shell-stable .dashboard-list-item:hover {
  border-color: #30455f;
  background: #101e33;
  box-shadow: none;
  transform: none;
}
body.analytics-page.forge-shell-stable .dashboard-list-item.active {
  border-color: #46617f;
  background: #15243b;
  box-shadow: inset 3px 0 var(--forge-color-primary);
}
body.analytics-page.forge-shell-stable .dashboard-list-item strong { font-size: .75rem; }
body.analytics-page.forge-shell-stable .dashboard-list-item span { color: #71839d; font-size: .64rem; }
body.analytics-page.forge-shell-stable .analytics-sidebar-disclosure {
  margin-top: 14px;
  border-color: #293d58;
  background: #091423;
}
body.analytics-page.forge-shell-stable .analytics-sidebar-disclosure > summary { padding: 10px 11px; }
body.analytics-page.forge-shell-stable .analytics-sidebar-disclosure-body { gap: 10px; padding: 10px; }
body.analytics-page.forge-shell-stable .sql-view-library-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 5px;
}
body.analytics-page.forge-shell-stable .analytics-sidebar-divider {
  height: 1px;
  margin: 4px 0;
  background: #22354e;
}
body.analytics-page.forge-shell-stable .analytics-advanced-action {
  display: flex;
  padding-top: 4px;
}

body.analytics-page.forge-shell-stable .analytics-workspace { min-width: 0; }
body.analytics-page.forge-shell-stable .analytics-empty-state,
body.analytics-page.forge-shell-stable .analytics-empty-widgets {
  min-height: 440px;
  border: 1px solid #263a54;
  border-radius: 12px;
  background: #0b1627;
  box-shadow: none;
}
body.analytics-page.forge-shell-stable .analytics-empty-state h2,
body.analytics-page.forge-shell-stable .analytics-empty-widgets h3 {
  color: #dce6f3;
  letter-spacing: -.025em;
}
body.analytics-page.forge-shell-stable .analytics-empty-state p,
body.analytics-page.forge-shell-stable .analytics-empty-widgets p {
  max-width: 650px;
  color: #7b8da6;
}
body.analytics-page.forge-shell-stable #dashboard-workspace {
  display: grid;
  gap: 12px;
}
body.analytics-page.forge-shell-stable #dashboard-workspace[hidden] { display: none; }
body.analytics-page.forge-shell-stable .analytics-toolbar {
  gap: 0;
  padding: 18px;
  border: 1px solid #263a54;
  border-radius: 12px;
  background: #0b1627;
  box-shadow: none;
}
body.analytics-page.forge-shell-stable .analytics-title-block {
  align-items: flex-start;
  padding: 0 0 14px;
  border-bottom: 1px solid #253850;
}
body.analytics-page.forge-shell-stable .analytics-title-block h2 {
  margin: 3px 0 3px;
  font-size: 1.28rem;
  letter-spacing: -.028em;
}
body.analytics-page.forge-shell-stable .analytics-title-block p { margin: 0; font-size: .72rem; }
body.analytics-page.forge-shell-stable .analytics-title-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 7px;
}
body.analytics-page.forge-shell-stable .analytics-filter-grid {
  grid-template-columns: minmax(170px, 1fr) minmax(170px, 1fr) minmax(130px, .7fr) minmax(210px, 1.15fr) auto;
  align-items: end;
  gap: 10px;
  margin: 14px 0 0;
  padding: 12px;
  border: 1px solid #293d58;
  border-radius: 10px;
  background: #0d192b;
}
body.analytics-page.forge-shell-stable .analytics-filter-grid > label > span,
body.analytics-page.forge-shell-stable .analytics-filter-grid .compact-field > span {
  color: #7587a0;
  font-size: .64rem;
  font-weight: 700;
}
body.analytics-page.forge-shell-stable .analytics-filter-grid :is(input, select) {
  min-height: 38px;
  border-color: #31455f;
  border-radius: 8px;
  background: #091423;
  color: #cbd7e7;
  box-shadow: none;
}
body.analytics-page.forge-shell-stable .analytics-filter-disclosure {
  align-self: stretch;
  margin: 0;
  border-color: #31455f;
  border-radius: 8px;
  background: #091423;
}
body.analytics-page.forge-shell-stable .analytics-filter-disclosure > summary {
  min-height: 38px;
  padding: 8px 10px;
}
body.analytics-page.forge-shell-stable .analytics-filter-disclosure summary small { display: none; }
body.analytics-page.forge-shell-stable .analytics-extra-filter-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  padding-top: 9px;
}
body.analytics-page.forge-shell-stable .analytics-filter-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
  min-height: 38px;
}
body.analytics-page.forge-shell-stable .analytics-control-row {
  align-items: center;
  gap: 10px;
  margin-top: 10px;
  padding: 10px 0 0;
  border-top: 1px solid #22354e;
  background: transparent;
}
body.analytics-page.forge-shell-stable .analytics-refresh-group {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  gap: 7px;
}
body.analytics-page.forge-shell-stable .analytics-refresh-group .compact-field {
  min-width: 150px;
}
body.analytics-page.forge-shell-stable .analytics-refresh-group .compact-field select { min-height: 34px; }
body.analytics-page.forge-shell-stable .analytics-freshness {
  margin-left: auto;
  display: grid;
  justify-items: end;
  gap: 2px;
  color: #71839d;
  font-size: .63rem;
  text-align: right;
}
body.analytics-page.forge-shell-stable .analytics-loading {
  padding: 11px 13px;
  border: 1px solid #31455f;
  border-radius: 9px;
  background: #0d192b;
  box-shadow: none;
  color: #8fa1b9;
  font-size: .72rem;
}

body.analytics-page.forge-shell-stable .dashboard-canvas {
  gap: 12px;
}
body.analytics-page.forge-shell-stable .analytics-widget-card {
  min-height: var(--widget-height, 320px);
  border: 1px solid #263a54;
  border-radius: 11px;
  background: #0b1627;
  box-shadow: none;
  transition: border-color 140ms ease, background 140ms ease;
}
body.analytics-page.forge-shell-stable .analytics-widget-card:hover {
  transform: none;
  border-color: #3d5572;
  background: #0d192b;
  box-shadow: none;
}
body.analytics-page.forge-shell-stable .analytics-widget-header {
  padding: 12px 14px;
  border-bottom: 1px solid #253850;
  background: #0f1c2e;
}
body.analytics-page.forge-shell-stable .analytics-widget-header h3 {
  color: #d6e1ee;
  font-size: .82rem;
  letter-spacing: -.01em;
}
body.analytics-page.forge-shell-stable .analytics-widget-header p { color: #71839d; font-size: .63rem; }
body.analytics-page.forge-shell-stable .analytics-widget-content { padding: 14px; }
body.analytics-page.forge-shell-stable .analytics-widget-footer {
  padding: 8px 13px;
  border-top: 1px solid #22354e;
  background: #091423;
  color: #71839d;
}
body.analytics-page.forge-shell-stable .analytics-kpi-premium {
  padding: 20px;
  background: transparent;
}
body.analytics-page.forge-shell-stable .analytics-kpi-premium::after { display: none; }
body.analytics-page.forge-shell-stable .analytics-kpi-accent { width: 3px; }
body.analytics-page.forge-shell-stable .analytics-kpi-premium strong {
  color: #eef4fb;
  font-size: clamp(2rem, 3.6vw, 3.3rem);
  letter-spacing: -.045em;
}
body.analytics-page.forge-shell-stable .analytics-kpi-label { color: #8294ac !important; font-size: .68rem; }
body.analytics-page.forge-shell-stable .analytics-data-table th {
  position: sticky;
  top: 0;
  background: #101c2e;
  color: #91a3bb;
  font-size: .65rem;
}
body.analytics-page.forge-shell-stable .analytics-data-table td {
  background: #0b1627;
  color: #c7d2e1;
  font-size: .71rem;
}
body.analytics-page.forge-shell-stable .analytics-data-table tbody tr:nth-child(even) td { background: #0d192b; }

html[data-forge-theme-resolved="light"] body.analytics-page.forge-shell-stable .analytics-page-source,
html[data-forge-theme-resolved="light"] body.analytics-page.forge-shell-stable .analytics-sidebar,
html[data-forge-theme-resolved="light"] body.analytics-page.forge-shell-stable .analytics-toolbar,
html[data-forge-theme-resolved="light"] body.analytics-page.forge-shell-stable .analytics-empty-state,
html[data-forge-theme-resolved="light"] body.analytics-page.forge-shell-stable .analytics-empty-widgets,
html[data-forge-theme-resolved="light"] body.analytics-page.forge-shell-stable .analytics-widget-card {
  border-color: #d7e0ea;
  background: #fff;
}
html[data-forge-theme-resolved="light"] body.analytics-page.forge-shell-stable .analytics-filter-grid,
html[data-forge-theme-resolved="light"] body.analytics-page.forge-shell-stable .analytics-loading {
  border-color: #d7e0ea;
  background: #f7f9fc;
}
html[data-forge-theme-resolved="light"] body.analytics-page.forge-shell-stable .analytics-filter-grid :is(input, select),
html[data-forge-theme-resolved="light"] body.analytics-page.forge-shell-stable .analytics-filter-disclosure {
  border-color: #ccd7e3;
  background: #fff;
  color: #2a3b52;
}
html[data-forge-theme-resolved="light"] body.analytics-page.forge-shell-stable .dashboard-list-item:hover { background: #f3f6fa; }
html[data-forge-theme-resolved="light"] body.analytics-page.forge-shell-stable .dashboard-list-item.active { background: #eaf0f7; }
html[data-forge-theme-resolved="light"] body.analytics-page.forge-shell-stable .analytics-widget-header,
html[data-forge-theme-resolved="light"] body.analytics-page.forge-shell-stable .analytics-widget-footer { background: #f7f9fc; border-color: #d7e0ea; }
html[data-forge-theme-resolved="light"] body.analytics-page.forge-shell-stable .analytics-widget-header h3,
html[data-forge-theme-resolved="light"] body.analytics-page.forge-shell-stable .analytics-kpi-premium strong { color: #23354c; }
html[data-forge-theme-resolved="light"] body.analytics-page.forge-shell-stable .analytics-data-table th { background: #f2f5f9; color: #52647a; }
html[data-forge-theme-resolved="light"] body.analytics-page.forge-shell-stable .analytics-data-table td { background: #fff; color: #2c3d54; }
html[data-forge-theme-resolved="light"] body.analytics-page.forge-shell-stable .analytics-data-table tbody tr:nth-child(even) td { background: #fafbfd; }

@media (max-width: 1240px) {
  body.analytics-page.forge-shell-stable .analytics-filter-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  body.analytics-page.forge-shell-stable .analytics-filter-disclosure { grid-column: span 2; }
}
@media (max-width: 980px) {
  body.analytics-page.forge-shell-stable .analytics-layout.forge-analytics-workspace {
    grid-template-columns: 1fr;
  }
  body.analytics-page.forge-shell-stable .analytics-page-header { grid-column: 1; }
  body.analytics-page.forge-shell-stable .analytics-sidebar {
    position: static;
    max-height: 420px;
  }
  body.analytics-page.forge-shell-stable .analytics-freshness {
    margin-left: 0;
    justify-items: start;
    text-align: left;
  }
}
@media (max-width: 720px) {
  body.analytics-page.forge-shell-stable .analytics-layout.forge-analytics-workspace {
    width: min(100% - 18px, 1640px);
    margin-top: 14px;
  }
  body.analytics-page.forge-shell-stable .analytics-filter-grid,
  body.analytics-page.forge-shell-stable .analytics-extra-filter-grid {
    grid-template-columns: 1fr;
  }
  body.analytics-page.forge-shell-stable .analytics-filter-disclosure { grid-column: auto; }
  body.analytics-page.forge-shell-stable .analytics-filter-actions,
  body.analytics-page.forge-shell-stable .analytics-title-actions { justify-content: flex-start; }
  body.analytics-page.forge-shell-stable .analytics-control-row,
  body.analytics-page.forge-shell-stable .analytics-title-block { align-items: stretch; flex-direction: column; }
}

/* V3.11.5 — Interactions column personalization + detail workspace */
body.interactions-page.forge-shell-stable .interaction-columns-dialog {
  width: min(900px, calc(100vw - 32px));
  max-height: min(88vh, 860px);
  overflow: hidden;
  border-color: #2a3d58;
  border-radius: 14px;
  background: #0a1526;
  box-shadow: 0 28px 70px rgba(0,0,0,.42);
}
body.interactions-page.forge-shell-stable .interaction-columns-form {
  min-height: min(720px, 82vh);
  display: grid;
  grid-template-rows: auto auto auto minmax(0, 1fr) auto;
  padding: 0;
}
body.interactions-page.forge-shell-stable .interaction-columns-heading {
  margin: 0;
  padding: 18px 20px 16px;
  border-bottom: 1px solid #22364e;
  background: #0d192b;
}
body.interactions-page.forge-shell-stable .interaction-columns-heading h2 { margin: 2px 0 5px; }
body.interactions-page.forge-shell-stable .interaction-columns-heading .muted { margin: 0; max-width: 650px; }
body.interactions-page.forge-shell-stable .interaction-columns-toolbar {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) auto auto;
  gap: 12px;
  align-items: end;
  padding: 14px 20px;
  border-bottom: 1px solid #22364e;
  background: #0a1526;
}
body.interactions-page.forge-shell-stable .interaction-columns-search {
  display: grid;
  gap: 5px;
  margin: 0;
}
body.interactions-page.forge-shell-stable .interaction-columns-search > span {
  color: #8193ab;
  font-size: .66rem;
  font-weight: 800;
  letter-spacing: .035em;
  text-transform: uppercase;
}
body.interactions-page.forge-shell-stable .interaction-columns-search input {
  min-height: 38px;
  border-color: #2b405b;
  background: #0d1a2c;
}
body.interactions-page.forge-shell-stable .interaction-columns-summary {
  display: grid;
  gap: 2px;
  padding: 0 4px 3px 0;
  text-align: right;
}
body.interactions-page.forge-shell-stable .interaction-columns-summary strong { color: #d9e4ef; font-size: .76rem; }
body.interactions-page.forge-shell-stable .interaction-columns-summary span { color: #71839a; font-size: .63rem; }
body.interactions-page.forge-shell-stable .interaction-columns-list-header {
  display: grid;
  grid-template-columns: 58px minmax(220px, 1fr) 128px 92px;
  gap: 12px;
  padding: 9px 20px;
  border-bottom: 1px solid #22364e;
  background: #0e1a2b;
  color: #74869f;
  font-size: .62rem;
  font-weight: 800;
  letter-spacing: .045em;
  text-transform: uppercase;
}
body.interactions-page.forge-shell-stable .interaction-columns-list {
  display: grid;
  grid-template-columns: 1fr;
  align-content: start;
  gap: 0;
  min-height: 0;
  margin: 0;
  overflow: auto;
  background: #091423;
}
body.interactions-page.forge-shell-stable .interaction-column-row {
  display: grid;
  grid-template-columns: 58px minmax(220px, 1fr) 128px 92px;
  gap: 12px;
  align-items: center;
  min-height: 58px;
  margin: 0;
  padding: 9px 20px;
  border: 0;
  border-bottom: 1px solid #1f3147;
  border-radius: 0;
  background: transparent;
}
body.interactions-page.forge-shell-stable .interaction-column-row:hover { background: #0d1a2d; }
body.interactions-page.forge-shell-stable .column-option-identity {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 9px;
}
body.interactions-page.forge-shell-stable .column-option-identity strong {
  min-width: 0;
  overflow: hidden;
  color: #d7e2ee;
  font-size: .77rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}
body.interactions-page.forge-shell-stable .column-category-badge {
  flex: 0 0 auto;
  padding: 3px 6px;
  border: 1px solid #314761;
  border-radius: 999px;
  background: #101f33;
  color: #8194ad;
  font-size: .59rem;
  font-weight: 750;
}
body.interactions-page.forge-shell-stable .column-visibility-control {
  position: relative;
  width: 36px;
  height: 20px;
  margin: 0;
  cursor: pointer;
}
body.interactions-page.forge-shell-stable .column-visibility-control input {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  opacity: 0;
  cursor: pointer;
}
body.interactions-page.forge-shell-stable .column-visibility-track {
  position: absolute;
  inset: 0;
  border: 1px solid #41516a;
  border-radius: 999px;
  background: #172336;
  transition: background 140ms ease, border-color 140ms ease;
}
body.interactions-page.forge-shell-stable .column-visibility-track::after {
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #8190a4;
  transition: transform 140ms ease, background 140ms ease;
}
body.interactions-page.forge-shell-stable .column-visibility-control input:checked + .column-visibility-track {
  border-color: color-mix(in srgb, var(--forge-accent, #ff451a) 72%, #40516b);
  background: color-mix(in srgb, var(--forge-accent, #ff451a) 34%, #172336);
}
body.interactions-page.forge-shell-stable .column-visibility-control input:checked + .column-visibility-track::after {
  transform: translateX(16px);
  background: #fff;
}
body.interactions-page.forge-shell-stable .column-visibility-control input:focus-visible + .column-visibility-track {
  outline: 3px solid color-mix(in srgb, var(--forge-focus-ring) 70%, transparent);
  outline-offset: 2px;
}
body.interactions-page.forge-shell-stable .interaction-column-width {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 5px;
  align-items: center;
  margin: 0;
}
body.interactions-page.forge-shell-stable .interaction-column-width input {
  min-width: 0;
  min-height: 34px;
  padding: 5px 7px;
  border-color: #2b405b;
  background: #0d1a2c;
  font-size: .72rem;
}
body.interactions-page.forge-shell-stable .column-width-suffix { color: #71839a; font-size: .63rem; }
body.interactions-page.forge-shell-stable .interaction-column-order { justify-content: flex-end; }
body.interactions-page.forge-shell-stable .interaction-column-order .icon-button {
  width: 34px;
  height: 34px;
  min-height: 34px;
  border-color: #2b405b;
  background: #0d1a2c;
  color: #9eb0c6;
}
body.interactions-page.forge-shell-stable .interaction-columns-empty {
  margin: 22px;
  padding: 28px 18px;
  text-align: center;
}
body.interactions-page.forge-shell-stable .interaction-columns-actions {
  margin: 0;
  padding: 13px 20px;
  border-top: 1px solid #22364e;
  background: #0d192b;
}

body.interactions-page.forge-shell-stable .interaction-detail-workspace {
  width: min(1120px, 96vw);
  grid-template-rows: auto minmax(0, 1fr);
  border-left-color: #2b405b;
  background: #081423;
  box-shadow: -18px 0 52px rgba(0,0,0,.34);
}
body.interactions-page.forge-shell-stable .interaction-detail-header {
  align-items: center;
  padding: 16px 18px;
  border-bottom-color: #22364e;
  background: #0d192b;
}
body.interactions-page.forge-shell-stable .interaction-detail-heading { min-width: 0; }
body.interactions-page.forge-shell-stable .interaction-detail-title-row {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}
body.interactions-page.forge-shell-stable .interaction-detail-title-row h2 {
  min-width: 0;
  margin: 2px 0 0;
  overflow: hidden;
  color: #e2ebf4;
  font-size: 1.05rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}
body.interactions-page.forge-shell-stable .interaction-detail-context {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
}
body.interactions-page.forge-shell-stable .interaction-detail-context[hidden] { display: none; }
body.interactions-page.forge-shell-stable .interaction-detail-pill {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 3px 8px;
  border: 1px solid #314761;
  border-radius: 999px;
  background: #101f33;
  color: #9eb0c6;
  font-size: .63rem;
  font-weight: 760;
}
body.interactions-page.forge-shell-stable .interaction-detail-pill.status.finalized {
  border-color: rgba(55,180,138,.35);
  background: rgba(55,180,138,.10);
  color: #8de1bf;
}
body.interactions-page.forge-shell-stable .interaction-detail-pill.status.active {
  border-color: rgba(255,176,32,.34);
  background: rgba(255,176,32,.10);
  color: #f0c979;
}
body.interactions-page.forge-shell-stable .interaction-detail-pill.secondary { font-weight: 650; }
body.interactions-page.forge-shell-stable .copy-id-button {
  max-width: min(620px, 65vw);
  margin-top: 8px;
  color: #8fa7c4;
}
body.interactions-page.forge-shell-stable .copy-id-button:hover { color: #c2d1e4; }
body.interactions-page.forge-shell-stable .interaction-detail-body {
  min-height: 0;
  display: grid;
  grid-template-columns: 205px minmax(0, 1fr);
}
body.interactions-page.forge-shell-stable .interaction-detail-nav {
  min-height: 0;
  display: flex;
  flex-direction: column;
  gap: 3px;
  padding: 14px 10px;
  overflow-y: auto;
  overflow-x: hidden;
  border-right: 1px solid #22364e;
  border-bottom: 0;
  background: #0a1626;
}
body.interactions-page.forge-shell-stable .detail-nav-label {
  margin: 11px 8px 4px;
  color: #64768e;
  font-size: .58rem;
  font-weight: 850;
  letter-spacing: .07em;
  text-transform: uppercase;
}
body.interactions-page.forge-shell-stable .detail-nav-label:first-child { margin-top: 2px; }
body.interactions-page.forge-shell-stable .interaction-detail-nav .detail-tab {
  width: 100%;
  min-height: 36px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  margin: 0;
  padding: 8px 10px;
  border: 1px solid transparent;
  border-radius: 8px;
  background: transparent;
  color: #8fa0b7;
  font-size: .71rem;
  text-align: left;
}
body.interactions-page.forge-shell-stable .interaction-detail-nav .detail-tab:hover {
  border-color: #263b55;
  background: #0f1d30;
  color: #c7d3e1;
}
body.interactions-page.forge-shell-stable .interaction-detail-nav .detail-tab.active {
  border-color: #3a4f69;
  background: #132238;
  color: #fff;
  box-shadow: inset 3px 0 0 var(--forge-accent, #ff451a);
}
body.interactions-page.forge-shell-stable .interaction-detail-panel {
  position: relative;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  background: #081423;
}
body.interactions-page.forge-shell-stable .interaction-detail-loading {
  position: absolute;
  z-index: 2;
  top: 14px;
  right: 18px;
  margin: 0;
}
body.interactions-page.forge-shell-stable .detail-content {
  height: 100%;
  min-height: 0;
  padding: 0 22px 32px;
  overflow: auto;
}
body.interactions-page.forge-shell-stable .interaction-detail-overview {
  display: grid;
  align-content: start;
}
body.interactions-page.forge-shell-stable .interaction-detail-section {
  padding: 20px 0;
  border-bottom: 1px solid #203247;
}
body.interactions-page.forge-shell-stable .interaction-detail-section:last-child { border-bottom: 0; }
body.interactions-page.forge-shell-stable .interaction-detail-section-heading {
  margin-bottom: 10px;
}
body.interactions-page.forge-shell-stable .interaction-detail-section-heading h3 {
  margin: 0;
  color: #cfdbe7;
  font-size: .76rem;
  letter-spacing: -.01em;
}
body.interactions-page.forge-shell-stable .detail-kv-grid.interaction-detail-facts {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px 16px;
}
body.interactions-page.forge-shell-stable .detail-kv-grid.interaction-detail-facts > div {
  min-width: 0;
  padding: 8px 0 9px;
  border: 0;
  border-bottom: 1px solid #1d2e42;
  border-radius: 0;
  background: transparent;
}
body.interactions-page.forge-shell-stable .detail-kv-grid.interaction-detail-facts dt {
  color: #6f8199;
  font-size: .59rem;
  letter-spacing: .035em;
}
body.interactions-page.forge-shell-stable .detail-kv-grid.interaction-detail-facts dd {
  margin-top: 4px;
  color: #d2dde8;
  font-size: .73rem;
  line-height: 1.4;
}
body.interactions-page.forge-shell-stable .interaction-detail-section-wide .interaction-detail-facts {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
body.interactions-page.forge-shell-stable .detail-table-wrapper {
  margin-top: 18px;
  border-color: #263b55;
  border-radius: 10px;
  background: #0a1626;
}
body.interactions-page.forge-shell-stable .detail-table th {
  background: #101d2f;
  color: #8496ad;
  font-size: .63rem;
}
body.interactions-page.forge-shell-stable .detail-table td {
  color: #c4d0dd;
  font-size: .69rem;
}
body.interactions-page.forge-shell-stable .interaction-timeline { margin-top: 20px; }
body.interactions-page.forge-shell-stable .interaction-timeline li {
  border-color: #263b55;
  background: #0b1727;
}
body.interactions-page.forge-shell-stable .interaction-json { margin-top: 10px; }

html[data-forge-theme-resolved="light"] body.interactions-page.forge-shell-stable .interaction-columns-dialog,
html[data-forge-theme-resolved="light"] body.interactions-page.forge-shell-stable .interaction-column-row,
html[data-forge-theme-resolved="light"] body.interactions-page.forge-shell-stable .interaction-detail-workspace,
html[data-forge-theme-resolved="light"] body.interactions-page.forge-shell-stable .interaction-detail-panel {
  background: #fff;
}
html[data-forge-theme-resolved="light"] body.interactions-page.forge-shell-stable .interaction-columns-heading,
html[data-forge-theme-resolved="light"] body.interactions-page.forge-shell-stable .interaction-columns-actions,
html[data-forge-theme-resolved="light"] body.interactions-page.forge-shell-stable .interaction-detail-header,
html[data-forge-theme-resolved="light"] body.interactions-page.forge-shell-stable .interaction-columns-list-header,
html[data-forge-theme-resolved="light"] body.interactions-page.forge-shell-stable .interaction-detail-nav {
  border-color: #d9e1ea;
  background: #f7f9fc;
}
html[data-forge-theme-resolved="light"] body.interactions-page.forge-shell-stable .interaction-columns-toolbar,
html[data-forge-theme-resolved="light"] body.interactions-page.forge-shell-stable .interaction-columns-list { background: #fff; border-color: #d9e1ea; }
html[data-forge-theme-resolved="light"] body.interactions-page.forge-shell-stable .interaction-column-row { border-color: #e3e8ef; }
html[data-forge-theme-resolved="light"] body.interactions-page.forge-shell-stable .interaction-column-row:hover { background: #f6f8fb; }
html[data-forge-theme-resolved="light"] body.interactions-page.forge-shell-stable .column-option-identity strong,
html[data-forge-theme-resolved="light"] body.interactions-page.forge-shell-stable .interaction-detail-title-row h2,
html[data-forge-theme-resolved="light"] body.interactions-page.forge-shell-stable .interaction-detail-section-heading h3 { color: #24364c; }
html[data-forge-theme-resolved="light"] body.interactions-page.forge-shell-stable .column-category-badge,
html[data-forge-theme-resolved="light"] body.interactions-page.forge-shell-stable .interaction-detail-pill { border-color: #d3dde8; background: #f3f6fa; color: #53677e; }
html[data-forge-theme-resolved="light"] body.interactions-page.forge-shell-stable .interaction-columns-search input,
html[data-forge-theme-resolved="light"] body.interactions-page.forge-shell-stable .interaction-column-width input,
html[data-forge-theme-resolved="light"] body.interactions-page.forge-shell-stable .interaction-column-order .icon-button { border-color: #ccd7e3; background: #fff; color: #52647a; }
html[data-forge-theme-resolved="light"] body.interactions-page.forge-shell-stable .detail-kv-grid.interaction-detail-facts > div,
html[data-forge-theme-resolved="light"] body.interactions-page.forge-shell-stable .interaction-detail-section { border-color: #e0e6ed; }
html[data-forge-theme-resolved="light"] body.interactions-page.forge-shell-stable .detail-kv-grid.interaction-detail-facts dd { color: #31445b; }
html[data-forge-theme-resolved="light"] body.interactions-page.forge-shell-stable .interaction-detail-nav .detail-tab.active { border-color: #d0d9e4; background: #edf2f7; color: #23354b; }

@media (max-width: 900px) {
  body.interactions-page.forge-shell-stable .interaction-columns-toolbar { grid-template-columns: 1fr auto; }
  body.interactions-page.forge-shell-stable .interaction-columns-summary { grid-column: 1 / -1; grid-row: 2; text-align: left; }
  body.interactions-page.forge-shell-stable .interaction-columns-list-header,
  body.interactions-page.forge-shell-stable .interaction-column-row { grid-template-columns: 52px minmax(180px, 1fr) 112px 82px; }
  body.interactions-page.forge-shell-stable .interaction-detail-workspace { width: 100vw; }
  body.interactions-page.forge-shell-stable .interaction-detail-body { grid-template-columns: 1fr; grid-template-rows: auto minmax(0, 1fr); }
  body.interactions-page.forge-shell-stable .interaction-detail-nav {
    flex-direction: row;
    gap: 4px;
    padding: 8px 10px;
    overflow-x: auto;
    overflow-y: hidden;
    border-right: 0;
    border-bottom: 1px solid #22364e;
  }
  body.interactions-page.forge-shell-stable .detail-nav-label { display: none; }
  body.interactions-page.forge-shell-stable .interaction-detail-nav .detail-tab {
    width: auto;
    flex: 0 0 auto;
    min-height: 34px;
    padding: 7px 9px;
  }
  body.interactions-page.forge-shell-stable .interaction-detail-nav .detail-tab.active { box-shadow: inset 0 -3px 0 var(--forge-accent, #ff451a); }
}
@media (max-width: 680px) {
  body.interactions-page.forge-shell-stable .interaction-columns-dialog { width: 100vw; max-height: 100vh; height: 100vh; border-radius: 0; }
  body.interactions-page.forge-shell-stable .interaction-columns-form { min-height: 100vh; }
  body.interactions-page.forge-shell-stable .interaction-columns-toolbar { grid-template-columns: 1fr; align-items: stretch; }
  body.interactions-page.forge-shell-stable .interaction-columns-summary { grid-column: auto; grid-row: auto; }
  body.interactions-page.forge-shell-stable .interaction-columns-list-header { display: none; }
  body.interactions-page.forge-shell-stable .interaction-column-row {
    grid-template-columns: 46px minmax(0, 1fr) 104px;
    gap: 8px;
    padding: 10px 14px;
  }
  body.interactions-page.forge-shell-stable .interaction-column-order { grid-column: 2 / -1; justify-content: flex-start; }
  body.interactions-page.forge-shell-stable .column-option-identity { flex-wrap: wrap; }
  body.interactions-page.forge-shell-stable .interaction-detail-header { align-items: flex-start; }
  body.interactions-page.forge-shell-stable .drawer-header-actions { flex-direction: column-reverse; align-items: flex-end; }
  body.interactions-page.forge-shell-stable .drawer-header-actions .button { max-width: 160px; }
  body.interactions-page.forge-shell-stable .detail-content { padding: 0 14px 24px; }
  body.interactions-page.forge-shell-stable .detail-kv-grid.interaction-detail-facts,
  body.interactions-page.forge-shell-stable .interaction-detail-section-wide .interaction-detail-facts { grid-template-columns: 1fr; }
}
body.interactions-page.forge-shell-stable .interaction-detail-pill[hidden] { display: none; }
body.interactions-page.forge-shell-stable .detail-content { padding-top: 18px; }
body.interactions-page.forge-shell-stable .interaction-detail-overview .interaction-detail-section:first-child { padding-top: 0; }
body.interactions-page.forge-shell-stable .detail-table-wrapper,
body.interactions-page.forge-shell-stable .interaction-timeline { margin-top: 0; }

/* V3.11.6 — Central Operacional workspace */
body.forge-operations-workspace .forge-operations-workspace {
  max-width: 1660px;
  padding: clamp(18px, 2vw, 30px) clamp(18px, 2.5vw, 38px) 42px;
  gap: 20px;
}

body.forge-operations-workspace .operations-page-header { margin-bottom: 2px; }
body.forge-operations-workspace .forge-page-actions { display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap; }
body.forge-operations-workspace .operations-updated { font-size:.82rem;white-space:nowrap; }

.operations-workspace-grid {
  display:grid;
  grid-template-columns:minmax(190px, 230px) minmax(0, 1fr);
  gap:22px;
  align-items:start;
}
.operations-section-sidebar {
  position:sticky;
  top:18px;
  display:grid;
  gap:12px;
  padding:14px;
  border:1px solid var(--border-color, rgba(148,163,184,.18));
  border-radius:16px;
  background:color-mix(in srgb, var(--surface, #111827) 86%, transparent);
}
.operations-section-sidebar-heading { display:grid;gap:2px;padding:4px 6px 10px;border-bottom:1px solid var(--border-color, rgba(148,163,184,.16)); }
.operations-section-sidebar-heading strong { font-size:1rem; }
body.forge-operations-workspace .operations-tabs { display:grid;gap:4px;overflow:visible;padding:0;border:0;background:transparent; }
body.forge-operations-workspace .operations-tabs .content-tab {
  width:100%;
  min-width:0;
  display:grid;
  gap:2px;
  justify-items:start;
  text-align:left;
  padding:10px 11px;
  border:1px solid transparent;
  border-radius:10px;
  background:transparent;
  color:var(--text-color, #e5e7eb);
}
body.forge-operations-workspace .operations-tabs .content-tab small { color:var(--muted, #94a3b8);font-size:.72rem;font-weight:500; }
body.forge-operations-workspace .operations-tabs .content-tab:hover { background:color-mix(in srgb, var(--surface-raised, #1f2937) 62%, transparent); }
body.forge-operations-workspace .operations-tabs .content-tab.active {
  background:color-mix(in srgb, var(--accent, #5b7cfa) 13%, var(--surface-raised, #1f2937));
  border-color:color-mix(in srgb, var(--accent, #5b7cfa) 32%, transparent);
  color:var(--text-color, #fff);
}
.operations-workspace-content { min-width:0;display:grid;gap:14px; }
body.forge-operations-workspace .operations-panel { gap:18px;background:transparent;border:0;padding:0;box-shadow:none; }

.operations-attention {
  display:grid;
  grid-template-columns:minmax(260px,.72fr) minmax(360px,1.28fr);
  gap:18px;
  padding:18px;
  border:1px solid var(--border-color, rgba(148,163,184,.18));
  border-radius:16px;
  background:var(--surface, #111827);
}
.operations-attention-copy { display:flex;gap:13px;align-items:flex-start; }
.operations-attention-copy h3 { margin:2px 0 5px;font-size:1.15rem; }
.operations-attention-copy p { margin:0; }
.operations-health-indicator { flex:0 0 11px;width:11px;height:11px;margin-top:8px;border-radius:999px;background:#64748b;box-shadow:0 0 0 5px rgba(100,116,139,.09); }
.operations-health-indicator.ok { background:#34d399;box-shadow:0 0 0 5px rgba(52,211,153,.10); }
.operations-health-indicator.warning { background:#fbbf24;box-shadow:0 0 0 5px rgba(251,191,36,.10); }
.operations-health-indicator.error { background:#fb7185;box-shadow:0 0 0 5px rgba(251,113,133,.10); }
.operations-attention-list { display:grid;gap:7px; }
.operations-attention-item { display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 11px;border-radius:10px;border:1px solid var(--border-color, rgba(148,163,184,.14));background:color-mix(in srgb, var(--surface-raised, #1f2937) 58%, transparent); }
.operations-attention-item > div { min-width:0;display:grid;gap:1px; }
.operations-attention-item strong { font-size:.84rem; }
.operations-attention-item small { color:var(--muted, #94a3b8);font-size:.73rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.operations-attention-item.error { border-left:3px solid #fb7185; }
.operations-attention-item.warning { border-left:3px solid #fbbf24; }
.operations-attention-item.ok { border-left:3px solid #34d399; }

body.forge-operations-workspace .forge-page-section { padding:18px;border-radius:16px;box-shadow:none; }
.operations-health-grid { grid-template-columns:repeat(auto-fit,minmax(205px,1fr));gap:8px; }
body.forge-operations-workspace .operations-health-card { padding:12px 13px;border-radius:11px;box-shadow:none;min-height:0;background:color-mix(in srgb, var(--surface-raised, #1f2937) 54%, transparent); }
.operations-health-card .health-card-head { display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px; }
.operations-health-card p { font-size:.87rem;color:var(--text-color, #e5e7eb); }
.operations-health-card small { font-size:.72rem; }
.operations-health-badge { font-size:.64rem;line-height:1;padding:4px 6px;border-radius:999px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted,#94a3b8);background:rgba(100,116,139,.12); }
.operations-health-badge.ok { color:#34d399;background:rgba(52,211,153,.09); }
.operations-health-badge.warning { color:#fbbf24;background:rgba(251,191,36,.09); }
.operations-health-badge.error { color:#fb7185;background:rgba(251,113,133,.09); }

.operations-metric-strip { display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border-top:1px solid var(--border-color,rgba(148,163,184,.15));border-bottom:1px solid var(--border-color,rgba(148,163,184,.15)); }
.operations-metric { min-width:0;display:grid;gap:3px;padding:14px 13px;border-right:1px solid var(--border-color,rgba(148,163,184,.15)); }
.operations-metric:last-child { border-right:0; }
.operations-metric span,.operations-activity-grid span { color:var(--muted,#94a3b8);font-size:.72rem;text-transform:uppercase;letter-spacing:.045em; }
.operations-metric strong { font-size:1.25rem;line-height:1.15; }
.operations-metric small { color:var(--muted,#94a3b8);font-size:.7rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.operations-activity-grid { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--border-color,rgba(148,163,184,.14));border:1px solid var(--border-color,rgba(148,163,184,.14));border-radius:12px;overflow:hidden; }
.operations-activity-grid article { min-width:0;display:grid;gap:6px;padding:14px;background:var(--surface,#111827); }
.operations-activity-grid strong { font-size:1.15rem;min-width:0;overflow:hidden;text-overflow:ellipsis; }
.operations-activity-grid .small-value { font-size:.86rem;line-height:1.35; }

.operations-table-header { align-items:flex-end; }
.operations-filter-field { min-width:170px;display:grid;gap:5px;color:var(--muted,#94a3b8);font-size:.75rem; }
.operations-filter-field select { min-height:38px; }
.operations-search-field input { min-width:min(360px, 32vw); }
.operations-table-scroll { margin-top:4px;border:1px solid var(--border-color,rgba(148,163,184,.14));border-radius:12px; }
.operations-table-scroll table { margin:0; }
.operations-table-scroll thead th { position:sticky;top:0;z-index:2;background:var(--surface-raised,#182235); }
.operations-pagination { margin-top:12px; }
.operations-diagnostic-hint { margin-top:12px;display:flex;gap:9px;align-items:flex-start;padding:11px 12px;border-radius:10px;background:color-mix(in srgb,var(--accent,#5b7cfa) 7%,transparent);color:var(--muted,#94a3b8);font-size:.78rem; }
.operations-diagnostic-hint strong { color:var(--text-color,#e5e7eb);white-space:nowrap; }

html[data-forge-theme-resolved="light"] .operations-section-sidebar,
html[data-forge-theme-resolved="light"] .operations-attention,
html[data-forge-theme-resolved="light"] .operations-activity-grid article { background:#fff; }
html[data-forge-theme-resolved="light"] body.forge-operations-workspace .operations-health-card { background:#f8fafc; }
html[data-forge-theme-resolved="light"] .operations-table-scroll thead th { background:#f8fafc; }

@media (max-width: 1180px) {
  .operations-metric-strip { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .operations-metric:nth-child(3n) { border-right:0; }
  .operations-metric:nth-child(-n+3) { border-bottom:1px solid var(--border-color,rgba(148,163,184,.15)); }
  .operations-attention { grid-template-columns:1fr; }
}
@media (max-width: 900px) {
  .operations-workspace-grid { grid-template-columns:1fr; }
  .operations-section-sidebar { position:static;padding:10px; }
  .operations-section-sidebar-heading { display:none; }
  body.forge-operations-workspace .operations-tabs { display:flex;overflow-x:auto;scrollbar-width:thin; }
  body.forge-operations-workspace .operations-tabs .content-tab { width:auto;min-width:150px;flex:0 0 auto; }
  .operations-activity-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 680px) {
  body.forge-operations-workspace .forge-operations-workspace { padding-inline:12px; }
  .operations-metric-strip { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .operations-metric { border-bottom:1px solid var(--border-color,rgba(148,163,184,.15)); }
  .operations-metric:nth-child(2n) { border-right:0; }
  .operations-metric:nth-last-child(-n+2) { border-bottom:0; }
  .operations-activity-grid { grid-template-columns:1fr; }
  .operations-attention { padding:14px; }
  .operations-attention-item { align-items:flex-start; }
  .operations-search-field,.operations-search-field input { width:100%;min-width:0; }
  .operations-table-header { align-items:stretch; }
  .operations-filter-field { width:100%; }
}
.operations-status-badge { display:inline-flex;align-items:center;min-height:22px;padding:3px 7px;border-radius:999px;font-size:.66rem;font-weight:700;letter-spacing:.035em;background:rgba(100,116,139,.12);color:var(--muted,#94a3b8); }
.operations-status-badge.completed { color:#34d399;background:rgba(52,211,153,.09); }
.operations-status-badge.running { color:#60a5fa;background:rgba(96,165,250,.09); }
.operations-status-badge.failed { color:#fb7185;background:rgba(251,113,133,.09); }
.operations-data-row.status-failed td:first-child,.operations-data-row.has-error td:first-child { box-shadow:inset 3px 0 0 #fb7185; }
.operations-error-cell { max-width:320px;color:#fda4af;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }

/* V3.11.7 — Governança + Paridade workspace rebuild */
body.forge-governance-workspace .forge-governance-workspace,
body.forge-parity-workspace .forge-parity-workspace {
  max-width: 1660px;
  padding: clamp(18px, 2vw, 30px) clamp(18px, 2.5vw, 38px) 42px;
  display: grid;
  gap: 18px;
}

.governance-page-header,
.parity-page-header { margin-bottom: 2px; }
.governance-page-actions { display:flex;align-items:center;justify-content:flex-end;gap:14px;flex-wrap:wrap; }
.governance-last-scan { display:grid;gap:2px;text-align:right; }
.governance-last-scan span,.parity-contract-context span { color:var(--muted,#94a3b8);font-size:.68rem;text-transform:uppercase;letter-spacing:.055em; }
.governance-last-scan strong { font-size:.78rem;font-weight:650;white-space:nowrap; }
.parity-contract-context { min-width:104px;display:grid;gap:2px;padding:9px 12px;border-left:1px solid var(--border-color,rgba(148,163,184,.18));text-align:right; }
.parity-contract-context strong { font-size:1.05rem; }

.governance-readonly-notice {
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding:10px 13px;
  border:1px solid var(--border-color,rgba(148,163,184,.14));
  border-radius:11px;
  background:color-mix(in srgb,var(--surface-raised,#1f2937) 42%,transparent);
}
.governance-readonly-icon { flex:0 0 24px;width:24px;height:24px;display:grid;place-items:center;border-radius:7px;background:color-mix(in srgb,var(--accent,#5b7cfa) 12%,transparent);color:var(--accent,#8ea3ff);font-size:.7rem;font-weight:800; }
.governance-readonly-notice > div { display:grid;gap:1px; }
.governance-readonly-notice strong { font-size:.78rem; }
.governance-readonly-notice span:not(.governance-readonly-icon) { color:var(--muted,#94a3b8);font-size:.74rem;line-height:1.45; }

.governance-workspace-grid,
.parity-workspace-grid {
  display:grid;
  grid-template-columns:minmax(200px, 236px) minmax(0,1fr);
  gap:22px;
  align-items:start;
}
.governance-section-sidebar {
  position:sticky;
  top:18px;
  display:grid;
  gap:11px;
  padding:14px;
  border:1px solid var(--border-color,rgba(148,163,184,.18));
  border-radius:16px;
  background:color-mix(in srgb,var(--surface,#111827) 86%,transparent);
}
.governance-section-sidebar-heading { display:grid;gap:2px;padding:4px 6px 10px;border-bottom:1px solid var(--border-color,rgba(148,163,184,.16)); }
.governance-section-sidebar-heading strong { font-size:1rem; }
.governance-tabs { display:grid;gap:4px; }
body.forge-governance-workspace .governance-tabs .content-tab,
.governance-cross-navigation a,
.governance-coverage-link {
  width:100%;
  min-width:0;
  display:grid;
  gap:2px;
  justify-items:start;
  text-align:left;
  padding:10px 11px;
  border:1px solid transparent;
  border-radius:10px;
  background:transparent;
  color:var(--text-color,#e5e7eb);
  text-decoration:none;
}
body.forge-governance-workspace .governance-tabs .content-tab small,
.governance-cross-navigation a small,
.governance-coverage-link small { color:var(--muted,#94a3b8);font-size:.71rem;font-weight:500;line-height:1.35; }
body.forge-governance-workspace .governance-tabs .content-tab:hover,
.governance-cross-navigation a:hover,
.governance-coverage-link:hover { background:color-mix(in srgb,var(--surface-raised,#1f2937) 62%,transparent); }
body.forge-governance-workspace .governance-tabs .content-tab.active,
.governance-cross-navigation a.active {
  background:color-mix(in srgb,var(--accent,#5b7cfa) 13%,var(--surface-raised,#1f2937));
  border-color:color-mix(in srgb,var(--accent,#5b7cfa) 30%,transparent);
  color:var(--text-color,#fff);
}
.governance-sidebar-divider { height:1px;background:var(--border-color,rgba(148,163,184,.15));margin:2px 4px; }
.governance-coverage-link { color:var(--accent,#9bafff); }
.governance-cross-navigation { display:grid;gap:4px; }

.governance-workspace-content,
.parity-workspace-content { min-width:0;display:grid;gap:14px; }
body.forge-governance-workspace .governance-panel { display:grid;gap:18px;background:transparent;border:0;padding:0;box-shadow:none; }
body.forge-governance-workspace .forge-page-section,
body.forge-parity-workspace .forge-page-section { padding:18px;border-radius:16px;box-shadow:none; }

.governance-readiness {
  display:grid;
  grid-template-columns:minmax(280px,.76fr) minmax(360px,1.24fr);
  gap:18px;
  padding:18px;
  border:1px solid var(--border-color,rgba(148,163,184,.18));
  border-radius:16px;
  background:var(--surface,#111827);
}
.governance-readiness-copy { display:flex;gap:13px;align-items:flex-start; }
.governance-readiness-copy h3 { margin:2px 0 5px;font-size:1.15rem; }
.governance-readiness-copy p { margin:0; }
.governance-readiness-indicator { flex:0 0 11px;width:11px;height:11px;margin-top:8px;border-radius:999px;background:#64748b;box-shadow:0 0 0 5px rgba(100,116,139,.09); }
.governance-readiness-indicator.ok { background:#34d399;box-shadow:0 0 0 5px rgba(52,211,153,.10); }
.governance-readiness-indicator.warning { background:#fbbf24;box-shadow:0 0 0 5px rgba(251,191,36,.10); }
.governance-readiness-indicator.error { background:#fb7185;box-shadow:0 0 0 5px rgba(251,113,133,.10); }
.governance-readiness-list { display:grid;gap:7px; }
.governance-readiness-item { display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 11px;border:1px solid var(--border-color,rgba(148,163,184,.14));border-left:3px solid #64748b;border-radius:10px;background:color-mix(in srgb,var(--surface-raised,#1f2937) 58%,transparent); }
.governance-readiness-item > div { min-width:0;display:grid;gap:1px; }
.governance-readiness-item strong { font-size:.84rem; }
.governance-readiness-item small { color:var(--muted,#94a3b8);font-size:.72rem;line-height:1.4; }
.governance-readiness-item.ok { border-left-color:#34d399; }
.governance-readiness-item.warning { border-left-color:#fbbf24; }
.governance-readiness-item.error { border-left-color:#fb7185; }
.governance-readiness-item.info { border-left-color:#60a5fa; }

.governance-metric-strip,
.parity-metric-strip { display:grid;border-top:1px solid var(--border-color,rgba(148,163,184,.15));border-bottom:1px solid var(--border-color,rgba(148,163,184,.15)); }
.governance-metric-strip { grid-template-columns:repeat(7,minmax(0,1fr)); }
.governance-metric,
.parity-metric { min-width:0;display:grid;gap:3px;padding:13px 12px;border-right:1px solid var(--border-color,rgba(148,163,184,.15));background:transparent; }
.governance-metric:last-child,.parity-metric:last-child { border-right:0; }
.governance-metric span,.parity-metric span { color:var(--muted,#94a3b8);font-size:.68rem;text-transform:uppercase;letter-spacing:.045em; }
.governance-metric strong,.parity-metric strong { font-size:1.22rem;line-height:1.15; }
.governance-metric small { color:var(--muted,#94a3b8);font-size:.68rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.governance-overview-grid { display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:18px; }
.governance-scan-summary { grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px; }
body.forge-governance-workspace .governance-scan-summary .health-card { padding:11px 12px;border-radius:10px;box-shadow:none;background:color-mix(in srgb,var(--surface-raised,#1f2937) 55%,transparent); }
body.forge-governance-workspace .governance-scan-summary .health-card p { margin:.35rem 0 .2rem;font-size:.84rem; }
body.forge-governance-workspace .governance-scan-summary .health-card small { font-size:.7rem; }
body.forge-governance-workspace .governance-bars { margin-top:4px; }
body.forge-governance-workspace .governance-bar-row { padding:7px 0;border-bottom:1px solid var(--border-color,rgba(148,163,184,.11)); }
body.forge-governance-workspace .governance-bar-row:last-child { border-bottom:0; }
body.forge-governance-workspace .governance-bar-track { height:7px;border-radius:999px;background:color-mix(in srgb,var(--surface-raised,#1f2937) 80%,transparent);overflow:hidden; }
body.forge-governance-workspace .governance-bar-fill { height:100%;border-radius:inherit;background:var(--accent,#6f8cff); }
body.forge-governance-workspace .governance-callout { margin:0 0 12px;padding:10px 12px;border-left:3px solid var(--accent,#6f8cff);border-radius:8px;background:color-mix(in srgb,var(--accent,#6f8cff) 6%,transparent);font-size:.78rem;line-height:1.5; }

.governance-table-header { align-items:flex-end; }
.governance-toolbar-fields { display:flex;align-items:end;gap:9px;flex-wrap:wrap; }
.governance-search-field,.governance-filter-field { display:grid;gap:5px;color:var(--muted,#94a3b8);font-size:.72rem; }
.governance-search-field input { min-width:min(330px,30vw); }
.governance-filter-field select { min-width:150px; }
.governance-table-meta { display:flex;justify-content:flex-end;margin:-5px 0 5px;font-size:.75rem; }
.governance-table-scroll { margin-top:4px;border:1px solid var(--border-color,rgba(148,163,184,.14));border-radius:12px; }
.governance-table-scroll table { margin:0; }
.governance-table-scroll thead th { position:sticky;top:0;z-index:2;background:var(--surface-raised,#182235); }
.governance-pagination { margin-top:12px; }
.governance-state-badge { display:inline-flex;align-items:center;min-height:21px;padding:3px 7px;border-radius:999px;font-size:.64rem;font-weight:700;letter-spacing:.03em;background:rgba(96,165,250,.09);color:#93c5fd; }
.governance-state-badge.ok { color:#34d399;background:rgba(52,211,153,.09); }
.governance-state-badge.muted { color:#94a3b8;background:rgba(100,116,139,.10); }
body.forge-governance-workspace .governance-topic-categories { margin:2px 0 10px; }
body.forge-governance-workspace .governance-topic-categories .filter-chip { box-shadow:none;background:color-mix(in srgb,var(--surface-raised,#1f2937) 60%,transparent); }
body.forge-governance-workspace .governance-findings-list { display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:9px; }
body.forge-governance-workspace .finding-card { min-width:0;padding:12px 13px;border-radius:11px;box-shadow:none;background:color-mix(in srgb,var(--surface-raised,#1f2937) 52%,transparent); }
body.forge-governance-workspace .finding-card h4 { margin:.45rem 0 .35rem;font-size:.92rem; }
body.forge-governance-workspace .finding-card p { margin:0 0 .45rem;font-size:.78rem;line-height:1.45; }

/* Paridade */
.parity-workspace-content { gap:18px; }
.parity-coverage-header { align-items:flex-end; }
.parity-coverage-score { min-width:118px;display:grid;gap:2px;text-align:right; }
.parity-coverage-score span { color:var(--muted,#94a3b8);font-size:.68rem;text-transform:uppercase;letter-spacing:.05em; }
.parity-coverage-score strong { font-size:1.65rem;line-height:1; }
.parity-metric-strip { grid-template-columns:repeat(5,minmax(0,1fr)); }
.parity-metric.implemented strong { color:#34d399; }
.parity-metric.partial strong { color:#fbbf24; }
.parity-metric.blocked strong { color:#fb7185; }
.parity-matrix-header { align-items:flex-end; }
body.forge-parity-workspace .parity-controls { display:grid;grid-template-columns:minmax(150px,.75fr) minmax(170px,.9fr) minmax(260px,1.6fr) auto;gap:9px;align-items:end;margin:2px 0 10px;padding:11px;border:1px solid var(--border-color,rgba(148,163,184,.13));border-radius:12px;background:color-mix(in srgb,var(--surface-raised,#1f2937) 40%,transparent);box-shadow:none; }
body.forge-parity-workspace .parity-controls label { display:grid;gap:5px;min-width:0; }
body.forge-parity-workspace .parity-controls label > span { color:var(--muted,#94a3b8);font-size:.7rem; }
body.forge-parity-workspace .parity-controls input,
body.forge-parity-workspace .parity-controls select { width:100%;min-width:0; }
body.forge-parity-workspace .parity-table-wrapper { border:1px solid var(--border-color,rgba(148,163,184,.14));border-radius:12px;overflow:auto; }
body.forge-parity-workspace .parity-table { margin:0; }
body.forge-parity-workspace .parity-table thead th { position:sticky;top:0;z-index:2;background:var(--surface-raised,#182235); }
body.forge-parity-workspace .parity-table td:nth-child(2) { min-width:260px; }
body.forge-parity-workspace .parity-table td:nth-child(4) { min-width:320px;max-width:620px;line-height:1.45; }
body.forge-parity-workspace .parity-row.status-blocked_by_api td:first-child,
body.forge-parity-workspace .parity-row.status-blocked_by_license td:first-child,
body.forge-parity-workspace .parity-row.status-blocked_by_permission td:first-child { box-shadow:inset 3px 0 0 #fb7185; }
body.forge-parity-workspace .parity-row.status-partial td:first-child { box-shadow:inset 3px 0 0 #fbbf24; }
body.forge-parity-workspace .parity-key { display:block;margin-top:3px;font-size:.66rem;color:var(--muted,#94a3b8);background:transparent;padding:0; }
.parity-results-footer { padding:10px 2px 0;color:var(--muted,#94a3b8);font-size:.72rem; }

html[data-forge-theme-resolved="light"] .governance-section-sidebar,
html[data-forge-theme-resolved="light"] .governance-readiness { background:#fff; }
html[data-forge-theme-resolved="light"] body.forge-governance-workspace .governance-scan-summary .health-card,
html[data-forge-theme-resolved="light"] body.forge-governance-workspace .finding-card { background:#f8fafc; }
html[data-forge-theme-resolved="light"] .governance-table-scroll thead th,
html[data-forge-theme-resolved="light"] body.forge-parity-workspace .parity-table thead th { background:#f8fafc; }

@media (max-width: 1240px) {
  .governance-metric-strip { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .governance-metric:nth-child(4) { border-right:0; }
  .governance-metric:nth-child(-n+4) { border-bottom:1px solid var(--border-color,rgba(148,163,184,.15)); }
  .governance-readiness { grid-template-columns:1fr; }
}
@media (max-width: 980px) {
  .governance-workspace-grid,.parity-workspace-grid { grid-template-columns:1fr; }
  .governance-section-sidebar { position:static;padding:10px; }
  .governance-section-sidebar-heading { display:none; }
  .governance-tabs,.governance-cross-navigation { display:flex;overflow-x:auto;overflow-y:hidden;gap:4px;scrollbar-width:thin; }
  body.forge-governance-workspace .governance-tabs .content-tab,
  .governance-cross-navigation a { width:auto;min-width:160px;flex:0 0 auto; }
  .governance-sidebar-divider,.governance-coverage-link { display:none; }
  .governance-overview-grid { grid-template-columns:1fr; }
  body.forge-parity-workspace .parity-controls { grid-template-columns:1fr 1fr; }
  body.forge-parity-workspace .parity-search-field { grid-column:1 / -1; }
  .parity-metric-strip { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .parity-metric:nth-child(3) { border-right:0; }
  .parity-metric:nth-child(-n+3) { border-bottom:1px solid var(--border-color,rgba(148,163,184,.15)); }
}
@media (max-width: 680px) {
  body.forge-governance-workspace .forge-governance-workspace,
  body.forge-parity-workspace .forge-parity-workspace { padding-inline:12px; }
  .governance-page-actions { width:100%;justify-content:space-between; }
  .governance-last-scan { text-align:left; }
  .governance-readonly-notice { align-items:flex-start; }
  .governance-metric-strip,.parity-metric-strip { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .governance-metric,.parity-metric { border-bottom:1px solid var(--border-color,rgba(148,163,184,.15)); }
  .governance-metric:nth-child(2n),.parity-metric:nth-child(2n) { border-right:0; }
  .governance-metric:last-child,.parity-metric:last-child { border-bottom:0; }
  .governance-readiness { padding:14px; }
  .governance-readiness-item { align-items:flex-start; }
  .governance-toolbar-fields { width:100%;display:grid;grid-template-columns:1fr; }
  .governance-search-field,.governance-search-field input,.governance-filter-field,.governance-filter-field select { width:100%;min-width:0; }
  .governance-table-header,.parity-matrix-header,.parity-coverage-header { align-items:stretch; }
  .parity-coverage-score { text-align:left; }
  body.forge-parity-workspace .parity-controls { grid-template-columns:1fr; }
  body.forge-parity-workspace .parity-search-field { grid-column:auto; }
  .parity-contract-context { text-align:left;border-left:0;border-top:1px solid var(--border-color,rgba(148,163,184,.18));padding-left:0; }
}

/* ========================================================================== */
/* V3.11.8 — Administração / Acessos workspace rebuild                       */
/* ========================================================================== */
body.forge-access-workspace .forge-access-workspace {
  max-width: 1660px;
  padding: clamp(18px, 2vw, 30px) clamp(18px, 2.5vw, 38px) 42px;
  display: grid;
  gap: 18px;
}
body.access-page .content-tabs { background: transparent; }

body.forge-access-workspace .access-page-header { margin-bottom: 2px; }
body.forge-access-workspace .access-page-context {
  min-width: 132px;
  display: grid;
  gap: 2px;
  padding: 8px 0 8px 16px;
  border-left: 1px solid var(--border-color, rgba(148,163,184,.18));
  text-align: right;
}
body.forge-access-workspace .access-page-context span {
  color: var(--muted, #94a3b8);
  font-size: .68rem;
  text-transform: uppercase;
  letter-spacing: .055em;
}
body.forge-access-workspace .access-page-context strong { font-size: .86rem; }

body.forge-access-workspace .access-workspace-grid {
  display: grid;
  grid-template-columns: minmax(220px, 270px) minmax(0, 1fr);
  gap: 22px;
  align-items: start;
}
body.forge-access-workspace .access-section-sidebar {
  position: sticky;
  top: 18px;
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid var(--border-color, rgba(148,163,184,.18));
  border-radius: 16px;
  background: color-mix(in srgb, var(--surface, #111827) 86%, transparent);
}
body.forge-access-workspace .access-section-sidebar-heading {
  display: grid;
  gap: 7px;
  padding: 4px 6px 12px;
  border-bottom: 1px solid var(--border-color, rgba(148,163,184,.16));
}
body.forge-access-workspace .access-section-sidebar-heading > span {
  color: var(--muted, #94a3b8);
  font-size: .68rem;
  font-weight: 760;
  text-transform: uppercase;
  letter-spacing: .055em;
}
body.forge-access-workspace .access-org-field { min-width: 0; }
body.forge-access-workspace .access-org-field select { width: 100%; min-width: 0; }
body.forge-access-workspace #access-context-help { font-size: .68rem; line-height: 1.42; }

body.forge-access-workspace .access-context-card {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  padding: 11px;
  border: 1px solid var(--border-color, rgba(148,163,184,.14));
  border-radius: 11px;
  background: color-mix(in srgb, var(--surface-raised, #1f2937) 52%, transparent);
}
body.forge-access-workspace .access-context-card.is-live {
  border-color: color-mix(in srgb, var(--forge-color-success, #67d99a) 34%, var(--border-color, rgba(148,163,184,.18)));
}
body.forge-access-workspace .access-context-card.is-readonly {
  border-color: color-mix(in srgb, var(--forge-color-warning, #f5c86b) 32%, var(--border-color, rgba(148,163,184,.18)));
}
body.forge-access-workspace .access-context-copy { display: flex; gap: 9px; align-items: flex-start; min-width: 0; }
body.forge-access-workspace .access-context-copy > div { min-width: 0; display: grid; gap: 2px; }
body.forge-access-workspace .access-context-copy strong { font-size: .78rem; line-height: 1.35; }
body.forge-access-workspace .access-context-copy p { margin: 0; font-size: .68rem; line-height: 1.45; }
body.forge-access-workspace .access-context-icon {
  flex: 0 0 27px;
  width: 27px;
  height: 27px;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 8px;
  background: color-mix(in srgb, var(--accent, #5b7cfa) 12%, transparent);
  color: var(--accent, #9bafff);
  font-size: .62rem;
  font-weight: 820;
}
body.forge-access-workspace .access-context-actions {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}
body.forge-access-workspace .access-context-actions .button { flex: 1 1 auto; }

body.forge-access-workspace .access-tabs {
  display: grid;
  gap: 4px;
  overflow: visible;
}
body.forge-access-workspace .access-tabs .tab-button {
  width: 100%;
  min-width: 0;
  display: grid;
  gap: 2px;
  justify-items: start;
  padding: 10px 11px;
  border: 1px solid transparent;
  border-radius: 10px;
  background: transparent;
  color: var(--text-color, #e5e7eb);
  text-align: left;
}
body.forge-access-workspace .access-tabs .tab-button strong { font-size: .78rem; font-weight: 720; }
body.forge-access-workspace .access-tabs .tab-button small { color: var(--muted, #94a3b8); font-size: .69rem; font-weight: 500; line-height: 1.35; }
body.forge-access-workspace .access-tabs .tab-button:hover { background: color-mix(in srgb, var(--surface-raised, #1f2937) 62%, transparent); }
body.forge-access-workspace .access-tabs .tab-button.active {
  border-color: color-mix(in srgb, var(--accent, #5b7cfa) 30%, transparent);
  background: color-mix(in srgb, var(--accent, #5b7cfa) 13%, var(--surface-raised, #1f2937));
  color: var(--text-color, #fff);
}

body.forge-access-workspace .access-sidebar-summary {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-top: 1px solid var(--border-color, rgba(148,163,184,.15));
  border-left: 1px solid var(--border-color, rgba(148,163,184,.12));
}
body.forge-access-workspace .access-sidebar-summary > div {
  min-width: 0;
  display: grid;
  gap: 2px;
  padding: 10px;
  border-right: 1px solid var(--border-color, rgba(148,163,184,.12));
  border-bottom: 1px solid var(--border-color, rgba(148,163,184,.12));
}
body.forge-access-workspace .access-sidebar-summary span {
  color: var(--muted, #94a3b8);
  font-size: .6rem;
  text-transform: uppercase;
  letter-spacing: .045em;
}
body.forge-access-workspace .access-sidebar-summary strong {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: .82rem;
}
body.forge-access-workspace .access-sidebar-summary small { color: var(--muted, #94a3b8); font-size: .64rem; }

body.forge-access-workspace .access-workspace-content { min-width: 0; display: grid; gap: 14px; }
body.forge-access-workspace .access-panel {
  min-width: 0;
  display: grid;
  gap: 16px;
  padding: 18px;
  border-radius: 16px;
  box-shadow: none;
}
body.forge-access-workspace .access-panel-header { align-items: flex-end; }
body.forge-access-workspace .access-panel-header h3 { margin: 2px 0 0; }
body.forge-access-workspace .access-panel-header .muted { max-width: 760px; }
body.forge-access-workspace .access-feature-filter-field { width: min(320px, 100%); }
body.forge-access-workspace .access-feature-filter-field span { color: var(--muted, #94a3b8); font-size: .69rem; }
body.forge-access-workspace .access-feature-filter-field input { width: 100%; }
body.forge-access-workspace .access-section-meta {
  display: flex;
  align-items: center;
  gap: 9px;
  min-height: 26px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--border-color, rgba(148,163,184,.13));
  font-size: .7rem;
}

body.forge-access-workspace .access-feature-grid { display: grid; grid-template-columns: 1fr; gap: 9px; }
body.forge-access-workspace .access-feature-card {
  display: grid;
  gap: 12px;
  padding: 14px 15px;
  border: 1px solid var(--border-color, rgba(148,163,184,.15));
  border-radius: 12px;
  background: color-mix(in srgb, var(--surface-raised, #1f2937) 46%, transparent);
  box-shadow: none;
}
body.forge-access-workspace .access-feature-header { align-items: center; }
body.forge-access-workspace .access-feature-header h3 { margin: 0 0 3px; font-size: .94rem; }
body.forge-access-workspace .access-feature-header p { max-width: 840px; font-size: .73rem; line-height: 1.45; }
body.forge-access-workspace .access-feature-toggle {
  min-height: 32px;
  padding: 5px 9px;
  border: 1px solid var(--border-color, rgba(148,163,184,.15));
  border-radius: 999px;
  background: color-mix(in srgb, var(--surface, #111827) 52%, transparent);
  font-size: .7rem;
}
body.forge-access-workspace .access-feature-section {
  display: grid;
  grid-template-columns: minmax(170px, .28fr) minmax(0, .72fr);
  gap: 10px;
  align-items: start;
  padding-top: 10px;
  border-top: 1px solid var(--border-color, rgba(148,163,184,.11));
}
body.forge-access-workspace .access-feature-section > strong { color: var(--muted, #94a3b8); font-size: .7rem; font-weight: 700; }
body.forge-access-workspace .access-profile-checks { gap: 6px 12px; }
body.forge-access-workspace .access-check { font-size: .72rem; }

body.forge-access-workspace details.access-genesys-guard {
  display: block;
  padding: 0;
  border: 1px solid var(--border-color, rgba(148,163,184,.13));
  border-radius: 10px;
  background: color-mix(in srgb, var(--surface, #111827) 42%, transparent);
  overflow: visible;
}
body.forge-access-workspace details.access-genesys-guard > summary.access-guard-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 11px;
  cursor: pointer;
  list-style: none;
}
body.forge-access-workspace details.access-genesys-guard > summary::-webkit-details-marker { display: none; }
body.forge-access-workspace details.access-genesys-guard > summary::after {
  content: '+';
  color: var(--muted, #94a3b8);
  font-size: 1rem;
  line-height: 1;
}
body.forge-access-workspace details.access-genesys-guard[open] > summary::after { content: '−'; }
body.forge-access-workspace details.access-genesys-guard[open] > summary { border-bottom: 1px solid var(--border-color, rgba(148,163,184,.12)); }
body.forge-access-workspace .access-guard-heading strong { font-size: .74rem; }
body.forge-access-workspace .access-guard-heading span { margin-left: auto; color: var(--muted, #94a3b8); font-size: .67rem; }
body.forge-access-workspace details.access-genesys-guard > .field { margin: 0; padding: 10px 11px; }
body.forge-access-workspace details.access-genesys-guard > .field + .field { border-top: 1px solid var(--border-color, rgba(148,163,184,.10)); }
body.forge-access-workspace details.access-genesys-guard > .field > span { color: var(--muted, #94a3b8); font-size: .68rem; }
body.forge-access-workspace .access-chip { max-width: min(390px, 100%); }
body.forge-access-workspace .access-feature-footer {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 9px;
  align-items: center;
  padding-top: 2px;
}
body.forge-access-workspace .access-feature-footer input { min-width: 0; }
body.forge-access-workspace .access-feature-empty { min-height: 220px; }

body.forge-access-workspace .access-assignment-create {
  display: grid;
  gap: 11px;
  padding: 13px;
  border: 1px solid var(--border-color, rgba(148,163,184,.14));
  border-radius: 12px;
  background: color-mix(in srgb, var(--surface-raised, #1f2937) 42%, transparent);
}
body.forge-access-workspace .access-assignment-create-heading { display: grid; gap: 2px; }
body.forge-access-workspace .access-assignment-create-heading strong { font-size: .82rem; }
body.forge-access-workspace .access-assignment-create-heading span { color: var(--muted, #94a3b8); font-size: .7rem; line-height: 1.4; }
body.forge-access-workspace .access-assignment-form {
  display: grid;
  grid-template-columns: 120px minmax(260px, 1.5fr) minmax(160px, .75fr) minmax(180px, .9fr) auto;
  gap: 9px;
  align-items: end;
  margin: 0;
}
body.forge-access-workspace .access-assignment-toolbar {
  margin: 2px 0 0;
  padding-top: 12px;
  border-top: 1px solid var(--border-color, rgba(148,163,184,.13));
}
body.forge-access-workspace .access-table-scroll {
  margin-top: 0;
  border: 1px solid var(--border-color, rgba(148,163,184,.14));
  border-radius: 12px;
}
body.forge-access-workspace .access-table-scroll table { margin: 0; }
body.forge-access-workspace .access-table-scroll thead th {
  position: sticky;
  top: 0;
  z-index: 2;
  background: var(--surface-raised, #182235);
}
body.forge-access-workspace .access-table-scroll tbody tr:hover { background: color-mix(in srgb, var(--accent, #5b7cfa) 4%, transparent); }

body.forge-access-workspace .access-matrix { gap: 10px; }
body.forge-access-workspace .access-matrix-legend {
  margin: 0;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--border-color, rgba(148,163,184,.13));
}
body.forge-access-workspace .access-matrix-profile {
  overflow: hidden;
  border: 1px solid var(--border-color, rgba(148,163,184,.14));
  border-radius: 12px;
  background: transparent;
  box-shadow: none;
}
body.forge-access-workspace .access-matrix-profile-header {
  padding: 11px 13px;
  background: color-mix(in srgb, var(--surface-raised, #1f2937) 48%, transparent);
}
body.forge-access-workspace .access-matrix-profile-header h3 { font-size: .88rem; }
body.forge-access-workspace .access-matrix-profile .table-scroll { margin: 0; border-top: 1px solid var(--border-color, rgba(148,163,184,.12)); }
body.forge-access-workspace .access-matrix-table thead th { position: sticky; top: 0; z-index: 2; background: var(--surface-raised, #182235); }
body.forge-access-workspace .access-capability-list code { background: color-mix(in srgb, var(--surface-raised, #1f2937) 65%, transparent); }

html[data-forge-theme-resolved="light"] body.forge-access-workspace .access-section-sidebar,
html[data-forge-theme-resolved="light"] body.forge-access-workspace .access-panel { background: #fff; }
html[data-forge-theme-resolved="light"] body.forge-access-workspace .access-context-card,
html[data-forge-theme-resolved="light"] body.forge-access-workspace .access-feature-card,
html[data-forge-theme-resolved="light"] body.forge-access-workspace .access-assignment-create,
html[data-forge-theme-resolved="light"] body.forge-access-workspace .access-matrix-profile-header { background: #f8fafc; }
html[data-forge-theme-resolved="light"] body.forge-access-workspace .access-table-scroll thead th,
html[data-forge-theme-resolved="light"] body.forge-access-workspace .access-matrix-table thead th { background: #f8fafc; }

@media (max-width: 1180px) {
  body.forge-access-workspace .access-assignment-form { grid-template-columns: 1fr 1.5fr 1fr; }
  body.forge-access-workspace .access-assignment-form .access-notes { grid-column: 1 / 3; }
}
@media (max-width: 980px) {
  body.forge-access-workspace .access-workspace-grid { grid-template-columns: 1fr; }
  body.forge-access-workspace .access-section-sidebar { position: static; padding: 11px; }
  body.forge-access-workspace .access-context-card { grid-template-columns: minmax(0, 1fr) auto; align-items: center; }
  body.forge-access-workspace .access-tabs { display: flex; gap: 4px; overflow-x: auto; scrollbar-width: thin; }
  body.forge-access-workspace .access-tabs .tab-button { width: auto; min-width: 170px; flex: 0 0 auto; }
  body.forge-access-workspace .access-sidebar-summary { grid-template-columns: repeat(4, minmax(0,1fr)); }
  body.forge-access-workspace .access-assignment-form { grid-template-columns: 1fr 1fr; }
  body.forge-access-workspace .access-subject-search-field { grid-column: 1 / -1; }
  body.forge-access-workspace .access-assignment-form .access-notes { grid-column: auto; }
}
@media (max-width: 700px) {
  body.forge-access-workspace .forge-access-workspace { padding-inline: 12px; }
  body.forge-access-workspace .access-page-context { width: 100%; padding: 10px 0 0; border-left: 0; border-top: 1px solid var(--border-color, rgba(148,163,184,.18)); text-align: left; }
  body.forge-access-workspace .access-context-card { grid-template-columns: 1fr; }
  body.forge-access-workspace .access-context-actions { width: 100%; }
  body.forge-access-workspace .access-sidebar-summary { grid-template-columns: 1fr 1fr; }
  body.forge-access-workspace .access-panel { padding: 14px; }
  body.forge-access-workspace .access-panel-header { align-items: stretch; }
  body.forge-access-workspace .access-feature-filter-field { width: 100%; }
  body.forge-access-workspace .access-feature-header,
  body.forge-access-workspace .access-feature-footer { grid-template-columns: 1fr; flex-direction: column; align-items: stretch; }
  body.forge-access-workspace .access-feature-section { grid-template-columns: 1fr; }
  body.forge-access-workspace .access-feature-toggle { align-self: flex-start; }
  body.forge-access-workspace .access-feature-footer { display: grid; }
  body.forge-access-workspace .access-assignment-form { grid-template-columns: 1fr; }
  body.forge-access-workspace .access-subject-search-field,
  body.forge-access-workspace .access-assignment-form .access-notes { grid-column: auto; }
  body.forge-access-workspace .access-assignment-toolbar { align-items: stretch; flex-direction: column; }
  body.forge-access-workspace .access-matrix-profile-header { align-items: flex-start; flex-direction: column; }
}

/* ========================================================================== */
/* V3.11.9 — Advanced launcher: favorites, recents and command search         */
/* ========================================================================== */

.forge-module-drawer {
  grid-template-rows: auto auto auto minmax(0, 1fr) auto;
}

.forge-module-search { margin-bottom: 6px; }
.forge-module-search-hint {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 0 16px 10px;
  color: #667b98;
  font-size: .61rem;
}
.forge-module-search-hint span { display: inline-flex; align-items: center; gap: 4px; }
.forge-module-search-hint kbd,
.forge-command-result kbd {
  min-width: 20px;
  padding: 2px 5px;
  border: 1px solid #30435f;
  border-bottom-color: #3d5575;
  border-radius: 5px;
  background: #101d30;
  color: #91a4bf;
  box-shadow: none;
  font: 700 .58rem/1.3 inherit;
  text-align: center;
}

.forge-launcher-quick {
  display: grid;
  gap: 10px;
  margin: 2px 2px 12px;
}
.forge-launcher-quick-section {
  display: grid;
  gap: 5px;
  padding: 8px;
  border: 1px solid #263956;
  border-radius: 11px;
  background: #0b1628;
}
.forge-launcher-quick-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 2px 4px 5px;
}
.forge-launcher-quick-heading span {
  color: #d9e4f3;
  font-size: .67rem;
  font-weight: 850;
  letter-spacing: .055em;
  text-transform: uppercase;
}
.forge-launcher-quick-heading small {
  min-width: 22px;
  padding: 2px 6px;
  border: 1px solid #2e4361;
  border-radius: 999px;
  color: #7f93af;
  font-size: .58rem;
  text-align: center;
}
.forge-launcher-quick-list { display: grid; gap: 3px; }
.forge-launcher-quick-item {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 34px;
  align-items: center;
  gap: 3px;
  border-radius: 8px;
}
.forge-launcher-quick-item:hover { background: #14233a; }
.forge-launcher-quick-link {
  min-width: 0;
  min-height: 42px;
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 7px 8px;
  color: #b1bfd3;
  text-decoration: none;
}
.forge-launcher-quick-link > svg { width: 17px; height: 17px; flex: 0 0 17px; color: var(--forge-color-primary); }
.forge-launcher-quick-link > span { min-width: 0; display: grid; gap: 1px; }
.forge-launcher-quick-link strong,
.forge-launcher-quick-link small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.forge-launcher-quick-link strong { color: #e1e9f5; font-size: .76rem; }
.forge-launcher-quick-link small { color: #7286a2; font-size: .62rem; }
.forge-launcher-quick-favorite,
.forge-module-favorite-toggle {
  width: 32px;
  min-height: 32px;
  margin: 0;
  padding: 7px;
  display: grid;
  place-items: center;
  border: 1px solid transparent;
  border-radius: 8px;
  background: transparent;
  color: #667b98;
  box-shadow: none;
}
.forge-launcher-quick-favorite:hover,
.forge-module-favorite-toggle:hover { background: #1b2c46; border-color: #304765; color: #c4d1e3; filter: none; }
.forge-launcher-quick-favorite svg,
.forge-module-favorite-toggle svg { width: 16px; height: 16px; }
.forge-launcher-quick-favorite.active,
.forge-module-favorite-toggle.active { color: var(--forge-color-primary); }
.forge-launcher-quick-favorite.active svg path,
.forge-module-favorite-toggle.active svg path { fill: currentColor; }
.forge-launcher-quick-empty {
  display: grid;
  gap: 3px;
  padding: 10px 11px;
  border: 1px dashed #2a3d59;
  border-radius: 10px;
}
.forge-launcher-quick-empty span { color: #aebdd1; font-size: .7rem; font-weight: 800; }
.forge-launcher-quick-empty small { color: #6f839f; font-size: .63rem; line-height: 1.45; }

body.dashboard-page .forge-module-navigation .forge-module-entry {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 34px;
  align-items: center;
  gap: 3px;
  border-radius: 8px;
}
body.dashboard-page .forge-module-navigation .forge-module-entry:hover { background: #192a44; }
body.dashboard-page .forge-module-navigation .forge-module-entry .module-link { min-width: 0; background: transparent; }
body.dashboard-page .forge-module-navigation .forge-module-entry .module-link:hover { background: transparent; }
body.dashboard-page .forge-module-navigation .forge-module-entry:has(.module-link[hidden]),
body.dashboard-page .forge-module-navigation .forge-module-entry:has(.module-link.experience-hidden) { display: none; }

.forge-command-result {
  width: 100%;
  min-height: 44px;
  margin: 0;
  padding: 8px 9px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border: 1px solid transparent;
  border-radius: 8px;
  background: transparent;
  color: #b6c3d5;
  box-shadow: none;
  text-align: left;
}
.forge-command-result span { min-width: 0; display: grid; gap: 2px; }
.forge-command-result strong { color: #e2eaf6; font-size: .75rem; }
.forge-command-result small { color: #71849f; font-size: .61rem; }
.forge-command-result:hover,
.forge-command-result.forge-command-active,
body.dashboard-page .forge-module-navigation .module-link.forge-command-active {
  border-color: color-mix(in srgb, var(--forge-color-primary) 45%, #30435f);
  background: color-mix(in srgb, var(--forge-color-primary) 10%, #17283f);
  color: #fff;
  filter: none;
  outline: none;
}
.forge-launcher-account.forge-launcher-search-mode { display: none; }

html[data-forge-theme-resolved="light"] .forge-module-search-hint { color: #73849a; }
html[data-forge-theme-resolved="light"] .forge-module-search-hint kbd,
html[data-forge-theme-resolved="light"] .forge-command-result kbd { background: #edf2f7; border-color: #c8d3df; color: #556a82; }
html[data-forge-theme-resolved="light"] .forge-launcher-quick-section { background: #f8fafc; border-color: #d8e1eb; }
html[data-forge-theme-resolved="light"] .forge-launcher-quick-heading span,
html[data-forge-theme-resolved="light"] .forge-launcher-quick-link strong,
html[data-forge-theme-resolved="light"] .forge-command-result strong { color: #263a53; }
html[data-forge-theme-resolved="light"] .forge-launcher-quick-link { color: #4d6078; }
html[data-forge-theme-resolved="light"] .forge-launcher-quick-link small,
html[data-forge-theme-resolved="light"] .forge-command-result small { color: #74859b; }
html[data-forge-theme-resolved="light"] .forge-launcher-quick-item:hover,
html[data-forge-theme-resolved="light"] body.dashboard-page .forge-module-navigation .forge-module-entry:hover { background: #eaf0f7; }
html[data-forge-theme-resolved="light"] .forge-launcher-quick-empty { border-color: #cbd6e2; }
html[data-forge-theme-resolved="light"] .forge-launcher-quick-empty span { color: #41556e; }
html[data-forge-theme-resolved="light"] .forge-command-result:hover,
html[data-forge-theme-resolved="light"] .forge-command-result.forge-command-active,
html[data-forge-theme-resolved="light"] body.dashboard-page .forge-module-navigation .module-link.forge-command-active { background: #eaf0f7; color: #17263c; }

@media (max-width: 620px) {
  .forge-module-search-hint { gap: 8px; overflow: hidden; white-space: nowrap; }
  .forge-module-search-hint span:last-child { display: none; }
}

/* ========================================================================== 
 * V3.11.10 — Feedback & Async States
 * Skeleton loading, retry surfaces, actionable empty states and stage progress.
 * ========================================================================== */
body.dashboard-page .forge-loading-skeleton:not([hidden]) {
  display: block;
  min-height: 0;
  padding: 14px;
  border: 1px solid color-mix(in srgb, var(--forge-color-border) 74%, transparent);
  border-radius: var(--forge-radius-md);
  background: color-mix(in srgb, var(--forge-color-surface-raised) 60%, transparent);
}
body.dashboard-page .forge-loading-skeleton:not([hidden])::before { display: none; }
body.dashboard-page .forge-skeleton { display: grid; gap: 10px; width: 100%; }
body.dashboard-page .forge-skeleton-row {
  display: grid;
  grid-template-columns: repeat(var(--forge-skeleton-columns, 5), minmax(80px, 1fr));
  gap: 14px;
  min-height: 31px;
  align-items: center;
  padding: 2px 0;
  border-bottom: 1px solid color-mix(in srgb, var(--forge-color-border) 38%, transparent);
}
body.dashboard-page .forge-skeleton-row:last-child { border-bottom: 0; }
body.dashboard-page .forge-skeleton-list-row,
body.dashboard-page .forge-skeleton-detail-block {
  display: grid;
  gap: 8px;
  padding: 9px 0;
  border-bottom: 1px solid color-mix(in srgb, var(--forge-color-border) 34%, transparent);
}
body.dashboard-page .forge-skeleton-list-row:last-child,
body.dashboard-page .forge-skeleton-detail-block:last-child { border-bottom: 0; }
body.dashboard-page .forge-skeleton-cards {
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
}
body.dashboard-page .forge-skeleton-card {
  display: grid;
  gap: 11px;
  min-height: 112px;
  padding: 14px;
  border: 1px solid color-mix(in srgb, var(--forge-color-border) 50%, transparent);
  border-radius: var(--forge-radius-sm);
  background: color-mix(in srgb, var(--forge-color-surface) 54%, transparent);
}
body.dashboard-page .forge-skeleton-line {
  display: block;
  width: var(--forge-skeleton-width, 100%);
  height: 11px;
  border-radius: 999px;
  background: linear-gradient(90deg,
    color-mix(in srgb, var(--forge-color-border) 58%, transparent) 18%,
    color-mix(in srgb, var(--forge-color-text-muted) 24%, transparent) 46%,
    color-mix(in srgb, var(--forge-color-border) 58%, transparent) 74%);
  background-size: 220% 100%;
  animation: forge-skeleton-shimmer 1.4s ease-in-out infinite;
}
body.dashboard-page .forge-skeleton-detail-block .forge-skeleton-line:first-child { height: 9px; }

body.dashboard-page .forge-retry-state:not([hidden]) {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  margin: 12px 0;
  padding: 12px 14px;
  border: 1px solid var(--forge-state-danger-border);
  border-radius: var(--forge-radius-md);
  background: color-mix(in srgb, var(--forge-state-danger-bg) 82%, transparent);
}
body.dashboard-page .forge-retry-state[data-feedback-state="warning"] {
  border-color: var(--forge-state-warning-border);
  background: color-mix(in srgb, var(--forge-state-warning-bg) 82%, transparent);
}
body.dashboard-page .forge-retry-icon {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: color-mix(in srgb, var(--forge-color-danger) 13%, transparent);
  color: var(--forge-color-danger);
  font-weight: 900;
}
body.dashboard-page .forge-retry-copy { display: grid; gap: 3px; min-width: 0; }
body.dashboard-page .forge-retry-copy strong { color: var(--forge-color-text); font-size: .86rem; }
body.dashboard-page .forge-retry-copy span { color: var(--forge-color-text-muted); font-size: .78rem; line-height: 1.45; }
body.dashboard-page .forge-retry-button { justify-self: end; }

body.dashboard-page .forge-empty-state:not([hidden]):has(.forge-empty-copy) {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px;
}
body.dashboard-page .forge-empty-copy { display: grid; gap: 4px; }
body.dashboard-page .forge-empty-copy strong { color: var(--forge-color-text); }
body.dashboard-page .forge-empty-copy span { color: var(--forge-color-text-muted); font-size: .8rem; line-height: 1.5; }

body.dashboard-page .forge-stage-progress {
  display: grid;
  gap: 10px;
  margin: 14px 0 4px;
  padding: 13px 14px;
  border: 1px solid var(--forge-state-info-border);
  border-radius: var(--forge-radius-md);
  background: var(--forge-state-info-bg);
}
body.dashboard-page .forge-stage-progress[hidden] { display: none; }
body.dashboard-page .forge-stage-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(145px, 1fr));
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}
body.dashboard-page .forge-stage-item {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 9px;
  align-items: start;
  min-width: 0;
  padding: 8px;
  border-radius: var(--forge-radius-sm);
  color: var(--forge-color-text-muted);
}
body.dashboard-page .forge-stage-marker {
  display: grid;
  place-items: center;
  width: 23px;
  height: 23px;
  border: 1px solid color-mix(in srgb, var(--forge-color-border) 88%, transparent);
  border-radius: 50%;
  font-size: .72rem;
  font-weight: 800;
}
body.dashboard-page .forge-stage-copy { display: grid; gap: 2px; min-width: 0; }
body.dashboard-page .forge-stage-copy strong { font-size: .78rem; color: inherit; }
body.dashboard-page .forge-stage-copy small { font-size: .69rem; line-height: 1.35; color: var(--forge-color-text-muted); }
body.dashboard-page .forge-stage-item[data-stage-state="active"] { background: color-mix(in srgb, var(--forge-color-information) 10%, transparent); color: var(--forge-color-information); }
body.dashboard-page .forge-stage-item[data-stage-state="active"] .forge-stage-marker { border-color: var(--forge-color-information); box-shadow: 0 0 0 3px color-mix(in srgb, var(--forge-color-information) 10%, transparent); }
body.dashboard-page .forge-stage-item[data-stage-state="complete"] { color: var(--forge-color-success); }
body.dashboard-page .forge-stage-item[data-stage-state="complete"] .forge-stage-marker { border-color: color-mix(in srgb, var(--forge-color-success) 68%, transparent); background: color-mix(in srgb, var(--forge-color-success) 10%, transparent); }
body.dashboard-page .forge-stage-item[data-stage-state="error"] { color: var(--forge-color-danger); background: color-mix(in srgb, var(--forge-color-danger) 8%, transparent); }
body.dashboard-page .forge-stage-item[data-stage-state="error"] .forge-stage-marker { border-color: var(--forge-color-danger); }
body.dashboard-page .forge-stage-detail { margin: 0; color: var(--forge-color-text-muted); font-size: .78rem; }

@keyframes forge-skeleton-shimmer {
  0% { background-position: 180% 0; }
  100% { background-position: -40% 0; }
}

@media (max-width: 720px) {
  body.dashboard-page .forge-retry-state:not([hidden]) { grid-template-columns: auto minmax(0, 1fr); }
  body.dashboard-page .forge-retry-button { grid-column: 1 / -1; justify-self: stretch; }
  body.dashboard-page .forge-stage-list { grid-template-columns: 1fr; }
  body.dashboard-page .forge-skeleton-row { grid-template-columns: repeat(2, minmax(90px, 1fr)); }
  body.dashboard-page .forge-skeleton-row .forge-skeleton-line:nth-child(n+3) { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  body.dashboard-page .forge-skeleton-line { animation: none; background-position: 0 0; }
}

/* ========================================================================== 
 * V3.11.11 — Responsive & Accessibility hardening
 * Desktop regression targets: 1366×768, 1440×900, 1600×900 and 1920×1080.
 * ========================================================================== */
body.dashboard-page[data-module-drawer="open"] { overflow: hidden; }
body.dashboard-page main[tabindex="-1"]:focus { outline: none; }
body.dashboard-page :is(.forge-scroll-region, .table-scroll, .data-grid-wrapper, .interaction-grid-wrapper):focus-visible {
  outline-offset: -3px;
}
body.dashboard-page :is(button, .button, .icon-button, [role="tab"]) { touch-action: manipulation; }

/* The fixed right rail never steals width unexpectedly from module workspaces. */
body.dashboard-page.forge-shell-stable {
  min-width: 0;
  overflow-x: clip;
}
body.dashboard-page.forge-shell-stable > main {
  min-width: 0;
  max-width: 100%;
}
.forge-module-rail { max-width: 100vw; }
.forge-module-drawer { max-width: calc(100vw - var(--forge-module-rail-width)); }
.forge-module-drawer[role="dialog"]:focus { outline: none; }
.forge-module-drawer-body { scrollbar-gutter: stable; }

/* Keep actionable controls usable when toolbars wrap on notebook screens. */
body.dashboard-page :is(
  .forge-page-actions, .toolbar-actions, .workspace-actions, .dialog-actions,
  .forge-filter-actions, .analytics-title-actions, .analytics-filter-actions,
  .operations-table-header, .governance-page-actions, .access-panel-header,
  .rows-toolbar, .rows-footer, .architect-upload-actions, .architect-deploy-actions
) {
  min-width: 0;
  flex-wrap: wrap;
}
body.dashboard-page :is(
  .forge-page-actions, .toolbar-actions, .workspace-actions, .dialog-actions,
  .forge-filter-actions, .analytics-title-actions, .analytics-filter-actions,
  .operations-table-header, .governance-page-actions, .access-panel-header
) > * { min-width: 0; }

/* Sticky local navigation must fit inside the visible viewport now that the top shell is gone. */
body.dashboard-page :is(
  .datatables-catalog, .analytics-sidebar, .operations-section-sidebar,
  .governance-section-sidebar, .access-section-sidebar
) {
  max-height: calc(100dvh - 36px);
}
body.dashboard-page :is(
  .operations-section-sidebar, .governance-section-sidebar, .access-section-sidebar
) { overflow: auto; overscroll-behavior: contain; scrollbar-width: thin; }

/* Modal workspaces should be fully keyboard/viewport safe. */
body.interactions-page .interaction-drawer[role="dialog"] { max-height: 100dvh; }
body.interactions-page .interaction-detail-body { min-height: 0; }
body.interactions-page .interaction-detail-panel { min-width: 0; min-height: 0; overflow: hidden; }
body.interactions-page .detail-content { max-width: 100%; overflow: auto; }
body.interactions-page .interaction-columns-dialog { max-width: calc(100vw - 24px); }
body.interactions-page .interaction-columns-form { min-width: 0; }

/* 1366-class notebooks: preserve sidebars, but reclaim enough room for dense data. */
@media (min-width: 901px) and (max-width: 1366px) {
  :root {
    --forge-module-rail-width: 64px;
    --forge-page-gutter: 16px;
    --forge-layout-gap: 12px;
  }
  .forge-module-rail { padding-inline: 5px; }
  .forge-rail-action { width: 52px; min-height: 50px; }
  .forge-module-drawer { --forge-module-drawer-width: 370px; }

  body.dashboard-page.forge-shell-stable :is(
    .forge-page-foundation, .forge-data-workspace, .analytics-layout.forge-analytics-workspace,
    .forge-operations-workspace, .forge-governance-workspace, .forge-parity-workspace,
    .forge-access-workspace
  ) { margin-top: 16px; }

  body.datatables-page.forge-shell-stable .datatables-workspace.forge-data-workspace {
    grid-template-columns: minmax(240px, 292px) minmax(0, 1fr);
    gap: 12px;
  }
  body.analytics-page.forge-shell-stable .analytics-layout.forge-analytics-workspace {
    grid-template-columns: 258px minmax(0, 1fr);
    gap: 12px;
  }
  .operations-workspace-grid { grid-template-columns: minmax(180px, 210px) minmax(0, 1fr); gap: 16px; }
  .governance-workspace-grid,
  .parity-workspace-grid { grid-template-columns: minmax(185px, 216px) minmax(0, 1fr); gap: 16px; }
  body.forge-access-workspace .access-workspace-grid { grid-template-columns: minmax(205px, 238px) minmax(0, 1fr); gap: 16px; }

  body.interactions-page.forge-shell-stable .forge-filter-primary {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  body.interactions-page.forge-shell-stable .interaction-drawer {
    width: min(1040px, calc(100vw - var(--forge-module-rail-width)));
  }
  body.forge-access-workspace .access-assignment-form {
    grid-template-columns: 100px minmax(210px, 1.3fr) minmax(140px, .75fr) minmax(150px, .85fr) auto;
  }
}

/* Standard desktop: keep content generous without stretching labels/toolbars excessively. */
@media (min-width: 1367px) and (max-width: 1600px) {
  :root { --forge-page-gutter: clamp(18px, 1.6vw, 26px); }
  body.dashboard-page.forge-shell-stable .forge-data-workspace { width: min(1480px, calc(100% - 2 * var(--forge-page-gutter))); }
  body.analytics-page.forge-shell-stable .analytics-layout.forge-analytics-workspace { width: min(1540px, calc(100% - 2 * var(--forge-page-gutter))); }
}

/* Large desktop: cap reading widths while allowing analytical/table surfaces to use the room. */
@media (min-width: 1601px) {
  body.home-page.forge-shell-stable .forge-page-foundation,
  body.architect-page.forge-shell-stable .forge-page-foundation { max-width: 1400px; }
  body.interactions-page.forge-shell-stable .interactions-workspace,
  body.datatables-page.forge-shell-stable .datatables-workspace { max-width: 1660px; }
}

/* Tablet and narrow screens: local navigation becomes horizontal and remains keyboard scrollable. */
@media (max-width: 980px) {
  body.dashboard-page :is(.operations-tabs, .governance-tabs, .access-tabs, .interaction-detail-nav) {
    scroll-snap-type: inline proximity;
    overscroll-behavior-inline: contain;
  }
  body.dashboard-page :is(.operations-tabs, .governance-tabs, .access-tabs, .interaction-detail-nav) [role="tab"] {
    scroll-snap-align: start;
  }
}

@media (max-width: 900px) {
  :root { --forge-module-rail-width: 62px; }
  body.dashboard-page.forge-shell-stable { padding-right: var(--forge-module-rail-width); }
  .forge-module-rail { padding: 8px 5px; }
  .forge-rail-action { width: 50px; min-height: 50px; }
  .forge-rail-current { display: none; }
  .forge-module-drawer { --forge-module-drawer-width: 360px; }

  body.interactions-page.forge-shell-stable .interaction-detail-body { grid-template-columns: 1fr; }
  body.interactions-page.forge-shell-stable .interaction-detail-nav {
    flex-direction: row;
    overflow-x: auto;
    overflow-y: hidden;
    border-right: 0;
    border-bottom: 1px solid #22364e;
  }
  body.interactions-page.forge-shell-stable .interaction-detail-nav .detail-nav-label { display: none; }
  body.interactions-page.forge-shell-stable .interaction-detail-nav .detail-tab {
    flex: 0 0 auto;
    min-width: 128px;
  }
}

@media (max-width: 640px), (pointer: coarse) and (max-width: 900px) {
  body.dashboard-page :is(
    button, .button, .icon-button, summary, [role="tab"],
    .forge-rail-action, .forge-module-close, .forge-module-favorite-toggle,
    .forge-launcher-quick-favorite
  ) { min-height: 44px; }
  body.dashboard-page :is(.icon-button, .forge-module-close, .forge-module-favorite-toggle, .forge-launcher-quick-favorite) { min-width: 44px; }
  body.dashboard-page :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea) { min-height: 44px; }
  .forge-module-drawer { width: calc(100vw - var(--forge-module-rail-width)); max-width: none; }
  body.dashboard-page .forge-empty-state:not([hidden]):has(.forge-empty-copy) { align-items: stretch; flex-direction: column; }
  body.dashboard-page .forge-empty-state .button { width: 100%; }
}

@media (max-width: 420px) {
  :root { --forge-module-rail-width: 56px; --forge-page-gutter: 8px; }
  .forge-module-rail { padding-inline: 3px; }
  .forge-rail-action { width: 48px; }
  .forge-rail-action span { font-size: .56rem; }
  .forge-module-drawer-header { padding-inline: 14px; }
  .forge-module-search { margin-inline: 10px; }
}

@media (prefers-reduced-motion: reduce) {
  .forge-module-drawer { transition: none; }
  body.dashboard-page :is(button, .button, a, [role="tab"]) { scroll-behavior: auto; }
}

@media (prefers-contrast: more) {
  body.dashboard-page :is(.panel, .card, .forge-page-section, .forge-module-drawer, .forge-module-rail) { border-width: 2px; }
  body.dashboard-page :is(a[href], button, input, select, textarea, summary, [role="tab"]):focus-visible {
    outline-width: 4px;
  }
}


/* ==========================================================================
 * V3.12.0 — UX/UI Stable baseline
 * The authenticated shell is launcher-only; source markup is non-visual and
 * removed after initialization. Historical topbar selectors are retired.
 * ========================================================================== */
.forge-shell-source { display: none !important; }
body.dashboard-page .forge-global-controls-source { min-width: 0; }

/* ========================================================================== */
/* V3.12.1 — UX hotfix: access context, Data Tables cards and Analytics tools */
/* ========================================================================== */

/* Progressive disclosure must not clip interactive descendants. */
body.dashboard-page .forge-disclosure > summary {
  border-radius: inherit;
}
body.dashboard-page .forge-disclosure[open] > summary {
  border-radius: var(--forge-radius-md, 12px) var(--forge-radius-md, 12px) 0 0;
}

/* Access: isolate the administrative organization selector from the sidebar layout. */
body.forge-access-workspace .access-admin-organization {
  min-width: 0;
  display: grid;
  gap: 9px;
  padding: 4px 6px 13px;
  border-bottom: 1px solid var(--border-color, rgba(148,163,184,.16));
}
body.forge-access-workspace .access-admin-organization-heading {
  min-width: 0;
  display: grid;
  gap: 2px;
}
body.forge-access-workspace .access-admin-organization-heading .eyebrow {
  margin: 0;
  color: var(--muted, #94a3b8);
  font-size: .66rem;
}
body.forge-access-workspace .access-admin-organization-heading strong {
  min-width: 0;
  color: var(--text-color, #e5e7eb);
  font-size: .82rem;
  line-height: 1.35;
}
body.forge-access-workspace .access-admin-organization .access-org-field {
  min-width: 0;
  width: 100%;
  display: block;
  margin: 0;
}
body.forge-access-workspace .access-admin-organization .access-org-field select {
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  min-height: 40px;
}
body.forge-access-workspace .access-admin-organization #access-context-help {
  display: block;
  margin: 0;
  overflow-wrap: anywhere;
}
body.forge-access-workspace .access-section-sidebar {
  overflow-x: hidden;
}

/* Data Tables inventory: every table occupies the same catalog width; long names grow vertically. */
body.datatables-page.forge-shell-stable .table-list,
body.datatables-page.forge-shell-stable .table-list > li {
  width: 100%;
  min-width: 0;
  max-width: 100%;
}
body.datatables-page.forge-shell-stable .table-list-item {
  box-sizing: border-box;
  min-width: 0;
  max-width: 100%;
  align-content: start;
}
body.datatables-page.forge-shell-stable .table-list-item > * {
  min-width: 0;
  max-width: 100%;
}
body.datatables-page.forge-shell-stable .table-list-item strong {
  display: block;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
  line-height: 1.35;
}
body.datatables-page.forge-shell-stable .table-list-item span,
body.datatables-page.forge-shell-stable .table-list-item small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Analytics: keep the advanced workspace reachable without letting it escape the sidebar. */
body.analytics-page.forge-shell-stable .analytics-sidebar {
  display: grid;
  grid-template-rows: auto auto minmax(110px, 1fr) auto;
  overflow: hidden;
}
body.analytics-page.forge-shell-stable .analytics-dashboard-list-region {
  min-width: 0;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  padding-right: 3px;
}
body.analytics-page.forge-shell-stable .analytics-sidebar-disclosure {
  min-width: 0;
  max-width: 100%;
  margin-top: 10px;
  overflow: hidden;
}
body.analytics-page.forge-shell-stable .analytics-sidebar-disclosure[open] {
  max-height: min(58dvh, 620px);
  overflow-y: auto;
  overflow-x: hidden;
  overscroll-behavior: contain;
  scrollbar-width: thin;
}
body.analytics-page.forge-shell-stable .analytics-sidebar-disclosure > summary {
  position: sticky;
  top: 0;
  z-index: 2;
  background: #091423;
}
body.analytics-page.forge-shell-stable .analytics-sidebar-disclosure[open] > summary {
  background: #0d1a2d;
}
body.analytics-page.forge-shell-stable .analytics-sidebar-disclosure-body {
  min-width: 0;
}
body.analytics-page.forge-shell-stable .analytics-sidebar-disclosure-body :is(.panel-heading, .sql-view-library-actions) {
  min-width: 0;
}
body.analytics-page.forge-shell-stable .analytics-sidebar-disclosure-body .button {
  max-width: 100%;
}
body.analytics-page.forge-shell-stable .analytics-advanced-action .button {
  width: 100%;
}

@media (max-width: 980px) {
  body.forge-access-workspace .access-admin-organization {
    grid-template-columns: minmax(180px, .8fr) minmax(220px, 1.2fr);
    align-items: end;
  }
  body.forge-access-workspace .access-admin-organization-heading,
  body.forge-access-workspace .access-admin-organization #access-context-help {
    grid-column: 1 / -1;
  }
  body.analytics-page.forge-shell-stable .analytics-sidebar {
    display: block;
    overflow: visible;
  }
  body.analytics-page.forge-shell-stable .analytics-dashboard-list-region {
    max-height: 320px;
  }
  body.analytics-page.forge-shell-stable .analytics-sidebar-disclosure[open] {
    max-height: none;
    overflow: visible;
  }
  body.analytics-page.forge-shell-stable .analytics-sidebar-disclosure > summary {
    position: static;
  }
}

@media (max-width: 700px) {
  body.forge-access-workspace .access-admin-organization {
    grid-template-columns: 1fr;
  }
  body.forge-access-workspace .access-admin-organization-heading,
  body.forge-access-workspace .access-admin-organization #access-context-help {
    grid-column: auto;
  }
}

/* ========================================================================== */
/* V3.12.3 — Navigation Simplification: one persistent, collapsible sidebar   */
/* ========================================================================== */

:root {
  --forge-navigation-sidebar-width: 304px;
  --forge-navigation-sidebar-collapsed-width: 68px;
  --forge-active-sidebar-width: var(--forge-navigation-sidebar-width);
}

body.dashboard-page.forge-shell-stable {
  padding-right: var(--forge-active-sidebar-width);
  transition: padding-right var(--forge-transition-fast);
}
body.dashboard-page.forge-shell-stable[data-forge-sidebar="collapsed"] {
  --forge-active-sidebar-width: var(--forge-navigation-sidebar-collapsed-width);
}

/* The old rail + modal drawer is retired. The sidebar itself is navigation. */
.forge-module-rail,
.forge-module-backdrop,
#forge-module-drawer { display: none !important; }

.forge-navigation-sidebar {
  position: fixed;
  inset: 0 0 0 auto;
  z-index: 150;
  width: var(--forge-navigation-sidebar-width);
  min-width: 0;
  display: grid;
  grid-template-rows: auto auto auto minmax(0, 1fr) auto auto;
  border-left: 1px solid var(--forge-workspace-border);
  background: #0b1526;
  color: var(--forge-color-text);
  box-shadow: -8px 0 26px rgba(0,0,0,.16);
  overflow: hidden;
  transition: width var(--forge-transition-fast), box-shadow var(--forge-transition-fast);
}
body[data-forge-sidebar="collapsed"] .forge-navigation-sidebar {
  width: var(--forge-navigation-sidebar-collapsed-width);
  box-shadow: -4px 0 18px rgba(0,0,0,.12);
}

.forge-navigation-sidebar-header {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 38px;
  align-items: center;
  gap: 8px;
  padding: 12px 10px 10px;
  border-bottom: 1px solid #22334c;
}
.forge-sidebar-brand {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 9px;
  color: inherit;
  text-decoration: none;
}
.forge-sidebar-brand-mark {
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  display: grid;
  place-items: center;
  border: 1px solid color-mix(in srgb, var(--forge-color-primary) 46%, #324764);
  border-radius: 10px;
  background: color-mix(in srgb, var(--forge-color-primary) 11%, #142239);
  color: #fff;
  font-size: .68rem;
  font-weight: 900;
  letter-spacing: .055em;
}
.forge-sidebar-brand-copy {
  min-width: 0;
  display: grid;
  gap: 1px;
}
.forge-sidebar-brand-copy strong {
  overflow: hidden;
  color: #f0f4fb;
  font-size: .82rem;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.forge-sidebar-brand-copy small {
  color: #70839f;
  font-size: .61rem;
  font-weight: 700;
  letter-spacing: .055em;
  text-transform: uppercase;
}
.forge-sidebar-toggle {
  width: 38px;
  min-width: 38px;
  min-height: 38px;
  margin: 0;
  padding: 8px;
  display: grid;
  place-items: center;
  border: 1px solid #2e425f;
  border-radius: 9px;
  background: #14233a;
  color: #9fb0c7;
  box-shadow: none;
}
.forge-sidebar-toggle:hover { background: #1b2d49; border-color: #3d5575; color: #fff; filter: none; }
.forge-sidebar-toggle svg {
  width: 18px;
  height: 18px;
  transform: rotate(180deg);
  transition: transform var(--forge-transition-fast);
}
body[data-forge-sidebar="collapsed"] .forge-sidebar-toggle svg { transform: rotate(0); }

.forge-sidebar-search { margin: 12px 10px 5px; }
body.dashboard-page .forge-sidebar-search input {
  width: 100%;
  min-height: 40px;
  padding-left: 37px;
  background: #0a1424;
  border-color: #30425f;
}
.forge-sidebar-search-hint {
  padding: 0 12px 8px;
  gap: 8px;
  font-size: .58rem;
}
.forge-sidebar-search-hint span:last-child { margin-left: auto; }

.forge-navigation-sidebar-body {
  min-width: 0;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  padding: 4px 9px 12px;
}

/* Categories are labels. Modules remain directly visible with no extra click. */
body.dashboard-page .forge-navigation-sidebar .forge-module-navigation {
  width: 100%;
  max-width: none;
  min-width: 0;
  display: grid;
  gap: 8px;
  overflow: visible;
  padding: 0;
  border: 0;
  background: transparent;
}
body.dashboard-page .forge-navigation-sidebar .forge-module-navigation > .nav-home-link {
  width: 100%;
  min-height: 44px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  padding: 9px 10px;
  border: 1px solid transparent;
  border-radius: 9px;
}
body.dashboard-page .forge-navigation-sidebar .nav-group,
body.dashboard-page .forge-navigation-sidebar .nav-group.active,
body.dashboard-page .forge-navigation-sidebar .nav-group[open] {
  min-width: 0;
  display: block;
  border: 0;
  border-radius: 0;
  background: transparent;
}
body.dashboard-page .forge-navigation-sidebar .nav-group-trigger {
  width: 100%;
  min-height: 26px;
  padding: 7px 9px 5px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  border: 0;
  background: transparent;
  color: #6f839f;
  cursor: default;
  font-size: .61rem;
  font-weight: 850;
  letter-spacing: .075em;
  line-height: 1.2;
  text-transform: uppercase;
}
body.dashboard-page .forge-navigation-sidebar .nav-group-trigger:hover { background: transparent; color: #7d92ae; }
body.dashboard-page .forge-navigation-sidebar .nav-chevron { display: none; }
body.dashboard-page .forge-navigation-sidebar .nav-group-menu {
  position: static;
  min-width: 0;
  display: grid;
  gap: 3px;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}
body.dashboard-page .forge-navigation-sidebar .forge-module-entry {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 34px;
  align-items: center;
  gap: 3px;
  border-radius: 9px;
}
body.dashboard-page .forge-navigation-sidebar .forge-module-entry:hover { background: #14243a; }
body.dashboard-page .forge-navigation-sidebar .module-link,
body.dashboard-page .forge-navigation-sidebar .nav-group-menu .module-link {
  width: 100%;
  min-width: 0;
  min-height: 42px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  padding: 8px 10px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: #aab8cc;
  font-size: .76rem;
  font-weight: 720;
  text-decoration: none;
  white-space: normal;
}
body.dashboard-page .forge-navigation-sidebar .module-link:hover { background: #172941; color: #fff; }
body.dashboard-page .forge-navigation-sidebar .module-link.active,
body.dashboard-page .forge-navigation-sidebar .module-link[aria-current="page"] {
  background: color-mix(in srgb, var(--forge-color-primary) 13%, #162840);
  color: #fff;
  box-shadow: inset 3px 0 0 var(--forge-color-primary);
}
.forge-module-link-icon {
  width: 19px;
  height: 19px;
  flex: 0 0 19px;
  display: grid;
  place-items: center;
  color: #8196b3;
}
.forge-module-link-icon svg { width: 19px; height: 19px; display: block; }
.module-link.active .forge-module-link-icon,
.module-link[aria-current="page"] .forge-module-link-icon { color: var(--forge-color-primary); }
.forge-module-link-label { min-width: 0; overflow-wrap: anywhere; }

/* Personal shortcuts live at the top of the same navigation surface. */
.forge-navigation-sidebar .forge-launcher-quick {
  margin: 1px 0 10px;
  gap: 7px;
}
.forge-navigation-sidebar .forge-launcher-quick-section {
  padding: 5px;
  border-color: #223650;
  background: #0d192b;
}
.forge-navigation-sidebar .forge-launcher-quick-link { min-height: 38px; padding: 6px 7px; }
.forge-navigation-sidebar .forge-launcher-quick-link > .forge-module-link-icon { color: var(--forge-color-primary); }

/* Account/environment is the fixed footer of the navigation surface. */
.forge-sidebar-account {
  min-width: 0;
  max-height: min(38vh, 310px);
  margin: 0;
  padding: 10px 9px;
  overflow-y: auto;
  overflow-x: hidden;
  border-top: 1px solid #22334c;
  background: #0a1424;
  scrollbar-width: thin;
}
.forge-navigation-sidebar-footer {
  min-width: 0;
  padding: 8px 12px 10px;
  border-top: 1px solid #1f3048;
  color: #667b98;
  font-size: .58rem;
  text-align: center;
}
.forge-navigation-sidebar-footer kbd {
  padding: 1px 4px;
  border: 1px solid #30435f;
  border-radius: 4px;
  background: #101d30;
  color: #91a4bf;
  font: inherit;
  font-weight: 800;
}

/* Collapsed sidebar: every authorized module remains a direct icon link. */
body[data-forge-sidebar="collapsed"] .forge-navigation-sidebar-header {
  grid-template-columns: 1fr;
  justify-items: center;
  padding-inline: 8px;
}
body[data-forge-sidebar="collapsed"] .forge-sidebar-brand { justify-content: center; }
body[data-forge-sidebar="collapsed"] .forge-sidebar-brand-copy,
body[data-forge-sidebar="collapsed"] .forge-sidebar-search,
body[data-forge-sidebar="collapsed"] .forge-sidebar-search-hint,
body[data-forge-sidebar="collapsed"] .forge-launcher-quick,
body[data-forge-sidebar="collapsed"] .forge-sidebar-account,
body[data-forge-sidebar="collapsed"] .forge-navigation-sidebar-footer,
body[data-forge-sidebar="collapsed"] .forge-module-link-label,
body[data-forge-sidebar="collapsed"] .forge-module-favorite-toggle,
body[data-forge-sidebar="collapsed"] .forge-navigation-sidebar .nav-group-trigger {
  display: none !important;
}
body[data-forge-sidebar="collapsed"] .forge-sidebar-toggle { width: 44px; min-width: 44px; min-height: 38px; }
body[data-forge-sidebar="collapsed"] .forge-navigation-sidebar-body { padding: 9px 7px 12px; }
body[data-forge-sidebar="collapsed"] .forge-navigation-sidebar .forge-module-navigation { gap: 4px; }
body[data-forge-sidebar="collapsed"] .forge-navigation-sidebar .nav-group-menu { gap: 4px; }
body[data-forge-sidebar="collapsed"] .forge-navigation-sidebar .forge-module-entry { display: block; }
body[data-forge-sidebar="collapsed"] .forge-navigation-sidebar .module-link,
body[data-forge-sidebar="collapsed"] .forge-navigation-sidebar .nav-group-menu .module-link,
body[data-forge-sidebar="collapsed"] .forge-navigation-sidebar .forge-module-navigation > .nav-home-link {
  width: 50px;
  min-width: 50px;
  min-height: 48px;
  margin-inline: auto;
  padding: 0;
  display: grid;
  place-items: center;
  border-radius: 10px;
  box-shadow: none;
}
body[data-forge-sidebar="collapsed"] .forge-navigation-sidebar .module-link.active,
body[data-forge-sidebar="collapsed"] .forge-navigation-sidebar .module-link[aria-current="page"] {
  box-shadow: inset 3px 0 0 var(--forge-color-primary);
}
body[data-forge-sidebar="collapsed"] .forge-module-link-icon,
body[data-forge-sidebar="collapsed"] .forge-module-link-icon svg { width: 21px; height: 21px; }

/* Light theme. */
html[data-forge-theme-resolved="light"] .forge-navigation-sidebar {
  background: #f8fafc;
  border-left-color: #d4dde8;
  box-shadow: -8px 0 24px rgba(29,48,76,.07);
}
html[data-forge-theme-resolved="light"] .forge-navigation-sidebar-header,
html[data-forge-theme-resolved="light"] .forge-sidebar-account,
html[data-forge-theme-resolved="light"] .forge-navigation-sidebar-footer { border-color: #d9e1ea; }
html[data-forge-theme-resolved="light"] .forge-sidebar-account { background: #f5f8fb; }
html[data-forge-theme-resolved="light"] .forge-sidebar-brand-copy strong { color: #17263c; }
html[data-forge-theme-resolved="light"] .forge-sidebar-brand-copy small,
html[data-forge-theme-resolved="light"] body.dashboard-page .forge-navigation-sidebar .nav-group-trigger { color: #74859b; }
html[data-forge-theme-resolved="light"] .forge-sidebar-toggle { background: #edf2f7; border-color: #cbd6e2; color: #52657d; }
html[data-forge-theme-resolved="light"] body.dashboard-page .forge-sidebar-search input { background: #fff; border-color: #aebed1; color: #17263c; }
html[data-forge-theme-resolved="light"] body.dashboard-page .forge-navigation-sidebar .forge-module-entry:hover,
html[data-forge-theme-resolved="light"] body.dashboard-page .forge-navigation-sidebar .module-link:hover { background: #eaf0f7; color: #17263c; }
html[data-forge-theme-resolved="light"] body.dashboard-page .forge-navigation-sidebar .module-link.active,
html[data-forge-theme-resolved="light"] body.dashboard-page .forge-navigation-sidebar .module-link[aria-current="page"] { background: color-mix(in srgb, var(--forge-color-primary) 8%, #eef3f8); color: #17263c; }
html[data-forge-theme-resolved="light"] .forge-navigation-sidebar .forge-launcher-quick-section { background: #fff; border-color: #d8e1eb; }
html[data-forge-theme-resolved="light"] .forge-navigation-sidebar-footer kbd { background: #edf2f7; border-color: #c8d3df; color: #556a82; }

/* Notebook and mobile behavior. On narrow screens expanded mode overlays the workspace. */
@media (max-width: 1366px) {
  :root { --forge-navigation-sidebar-width: 286px; --forge-navigation-sidebar-collapsed-width: 64px; }
}
@media (max-width: 760px) {
  :root { --forge-navigation-sidebar-width: min(318px, calc(100vw - 18px)); --forge-navigation-sidebar-collapsed-width: 58px; }
  body.dashboard-page.forge-shell-stable { padding-right: var(--forge-navigation-sidebar-collapsed-width); }
  body.dashboard-page.forge-shell-stable[data-forge-sidebar="collapsed"] { padding-right: var(--forge-navigation-sidebar-collapsed-width); }
  body.dashboard-page.forge-shell-stable[data-forge-sidebar="expanded"] { padding-right: var(--forge-navigation-sidebar-collapsed-width); }
  body[data-forge-sidebar="expanded"] .forge-navigation-sidebar { box-shadow: -18px 0 54px rgba(0,0,0,.34); }
}
@media (prefers-reduced-motion: reduce) {
  body.dashboard-page.forge-shell-stable,
  .forge-navigation-sidebar,
  .forge-sidebar-toggle svg { transition: none; }
}

/* V3.12.3 sidebar-aware modal workspace sizing. */
body.interactions-page.forge-shell-stable .interaction-drawer {
  max-width: calc(100vw - var(--forge-active-sidebar-width));
}
@media (max-width: 760px) {
  body.interactions-page.forge-shell-stable .interaction-drawer {
    max-width: calc(100vw - var(--forge-navigation-sidebar-collapsed-width));
  }
}


/* ========================================================================== */
/* V3.12.4 — Sidebar Visual Polish                                            */
/* Cleaner hierarchy, compact shortcuts and a calmer account footer.          */
/* ========================================================================== */

:root {
  --forge-navigation-sidebar-width: 288px;
  --forge-navigation-sidebar-collapsed-width: 64px;
}

.forge-navigation-sidebar {
  grid-template-rows: auto auto minmax(0, 1fr) auto;
  background: #0b1526;
  box-shadow: -5px 0 20px rgba(0,0,0,.13);
}

.forge-navigation-sidebar-header {
  grid-template-columns: minmax(0, 1fr) 36px;
  padding: 10px 9px 9px;
}
.forge-sidebar-brand-mark {
  width: 34px;
  height: 34px;
  flex-basis: 34px;
  border-radius: 9px;
}
.forge-sidebar-brand-copy strong {
  font-size: .79rem;
  font-weight: 820;
}
.forge-sidebar-brand-copy small { display: none; }
.forge-sidebar-toggle {
  width: 36px;
  min-width: 36px;
  min-height: 36px;
  padding: 7px;
  border-color: transparent;
  background: transparent;
}
.forge-sidebar-toggle:hover {
  background: #15253b;
  border-color: #2a3e5a;
}

.forge-sidebar-search {
  position: relative;
  margin: 10px 9px 8px;
}
body.dashboard-page .forge-sidebar-search input {
  min-height: 38px;
  padding-left: 35px;
  padding-right: 58px;
  border-color: #263a55;
  border-radius: 9px;
  background: #0c1728;
  font-size: .72rem;
}
.forge-sidebar-search-shortcut {
  position: absolute;
  top: 50%;
  right: 8px;
  transform: translateY(-50%);
  padding: 2px 5px;
  border: 1px solid #2b405d;
  border-radius: 5px;
  background: #111e31;
  color: #7185a1;
  font-family: inherit;
  font-size: .55rem;
  font-weight: 750;
  line-height: 1.35;
  pointer-events: none;
}
.forge-sidebar-search-hint,
.forge-navigation-sidebar-footer { display: none !important; }

.forge-navigation-sidebar-body {
  padding: 3px 8px 12px;
}

/* Shortcuts are navigation aids, not cards. */
.forge-navigation-sidebar .forge-launcher-quick {
  gap: 9px;
  margin: 1px 2px 11px;
  padding: 0 0 11px;
  border-bottom: 1px solid #1e3048;
}
.forge-navigation-sidebar .forge-launcher-quick-section {
  gap: 2px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}
.forge-launcher-quick-heading {
  justify-content: flex-start;
  padding: 4px 7px 3px;
}
.forge-launcher-quick-heading span {
  color: #7488a4;
  font-size: .58rem;
  font-weight: 830;
  letter-spacing: .07em;
}
.forge-launcher-quick-heading small { display: none; }
.forge-launcher-quick-list { gap: 1px; }
.forge-launcher-quick-item {
  grid-template-columns: minmax(0, 1fr) 30px;
  gap: 1px;
  border-radius: 7px;
}
.forge-launcher-quick-item:hover { background: #122239; }
.forge-navigation-sidebar .forge-launcher-quick-link {
  min-height: 34px;
  padding: 5px 7px;
  gap: 8px;
}
.forge-launcher-quick-link strong {
  min-width: 0;
  overflow: hidden;
  color: #c6d2e3;
  font-size: .71rem;
  font-weight: 730;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.forge-launcher-quick-link small { display: none; }
.forge-launcher-quick-favorite {
  width: 29px;
  min-height: 29px;
  padding: 6px;
  opacity: 0;
  transition: opacity var(--forge-transition-fast), background var(--forge-transition-fast), color var(--forge-transition-fast);
}
.forge-launcher-quick-favorite.active { opacity: .72; }
.forge-launcher-quick-item:hover .forge-launcher-quick-favorite,
.forge-launcher-quick-favorite:focus-visible { opacity: 1; }
.forge-launcher-quick-empty {
  padding: 4px 7px 8px;
  border: 0;
  border-radius: 0;
}
.forge-launcher-quick-empty span { font-size: .67rem; }
.forge-launcher-quick-empty small { font-size: .6rem; }

/* Main module hierarchy: quieter section labels and compact direct links. */
body.dashboard-page .forge-navigation-sidebar .forge-module-navigation { gap: 10px; }
body.dashboard-page .forge-navigation-sidebar .nav-group-trigger {
  min-height: 22px;
  padding: 5px 7px 3px;
  color: #687d99;
  font-size: .57rem;
  letter-spacing: .07em;
}
body.dashboard-page .forge-navigation-sidebar .nav-group-menu { gap: 1px; }
body.dashboard-page .forge-navigation-sidebar .forge-module-entry {
  grid-template-columns: minmax(0, 1fr) 30px;
  gap: 1px;
  border-radius: 8px;
}
body.dashboard-page .forge-navigation-sidebar .forge-module-entry:hover { background: transparent; }
body.dashboard-page .forge-navigation-sidebar .module-link,
body.dashboard-page .forge-navigation-sidebar .nav-group-menu .module-link,
body.dashboard-page .forge-navigation-sidebar .forge-module-navigation > .nav-home-link {
  min-height: 38px;
  gap: 9px;
  padding: 7px 8px;
  border-radius: 8px;
  font-size: .72rem;
  font-weight: 690;
}
body.dashboard-page .forge-navigation-sidebar .module-link:hover { background: #14253c; }
body.dashboard-page .forge-navigation-sidebar .module-link.active,
body.dashboard-page .forge-navigation-sidebar .module-link[aria-current="page"] {
  background: color-mix(in srgb, var(--forge-color-primary) 9%, #13243a);
  box-shadow: inset 2px 0 0 var(--forge-color-primary);
}
.forge-module-favorite-toggle {
  width: 29px;
  min-height: 29px;
  padding: 6px;
  opacity: 0;
}
.forge-module-favorite-toggle.active { opacity: .68; }
.forge-module-entry:hover .forge-module-favorite-toggle,
.forge-module-favorite-toggle:focus-visible { opacity: 1; }

/* Account controls belong to the sidebar, but should not look like another dashboard. */
.forge-sidebar-account {
  max-height: min(34vh, 270px);
  padding: 9px 9px 10px;
  border-top-color: #1e3048;
  background: #0b1526;
}
.forge-sidebar-account .forge-launcher-section-heading {
  padding: 0 4px 6px;
}
.forge-sidebar-account .forge-launcher-section-heading span {
  color: #7185a1;
  font-size: .58rem;
  letter-spacing: .07em;
}
.forge-sidebar-account .forge-launcher-section-heading small { display: none; }
body.dashboard-page .forge-sidebar-account .forge-global-controls-host,
body.dashboard-page .forge-sidebar-account .forge-global-controls-source { gap: 5px; }
body.dashboard-page .forge-sidebar-account .session-summary,
body.dashboard-page .forge-sidebar-account .organization-context-switcher,
body.dashboard-page .forge-sidebar-account .experience-profile-control {
  padding: 6px 5px;
  border: 0;
  border-radius: 0;
  background: transparent;
}
body.dashboard-page .forge-sidebar-account .session-summary { gap: 2px; }
body.dashboard-page .forge-sidebar-account .session-summary strong { font-size: .72rem; }
body.dashboard-page .forge-sidebar-account .session-summary > span:not(.storage-badge) { font-size: .62rem; }
body.dashboard-page .forge-sidebar-account :is(.organization-context-select, .experience-profile-control select) {
  min-height: 36px;
  border-radius: 8px;
  background: #0d1a2d;
}
body.dashboard-page .forge-sidebar-account :is(.personalization-launcher, #logout-button) {
  min-height: 37px;
  border-radius: 8px;
  font-size: .7rem;
}

body[data-forge-sidebar="collapsed"] .forge-sidebar-search-shortcut { display: none; }
body[data-forge-sidebar="collapsed"] .forge-navigation-sidebar-body { padding-inline: 5px; }
body[data-forge-sidebar="collapsed"] .forge-navigation-sidebar .module-link,
body[data-forge-sidebar="collapsed"] .forge-navigation-sidebar .nav-group-menu .module-link,
body[data-forge-sidebar="collapsed"] .forge-navigation-sidebar .forge-module-navigation > .nav-home-link {
  width: 46px;
  min-width: 46px;
  min-height: 44px;
  border-radius: 9px;
}

html[data-forge-theme-resolved="light"] .forge-navigation-sidebar .forge-launcher-quick-section,
html[data-forge-theme-resolved="light"] .forge-sidebar-account { background: #f8fafc; }
html[data-forge-theme-resolved="light"] .forge-navigation-sidebar .forge-launcher-quick { border-bottom-color: #dce4ed; }
html[data-forge-theme-resolved="light"] .forge-launcher-quick-heading span,
html[data-forge-theme-resolved="light"] .forge-sidebar-account .forge-launcher-section-heading span { color: #75869b; }
html[data-forge-theme-resolved="light"] .forge-launcher-quick-link strong { color: #31445d; }
html[data-forge-theme-resolved="light"] .forge-sidebar-search-shortcut {
  border-color: #d1dbe6;
  background: #f3f6f9;
  color: #718198;
}
html[data-forge-theme-resolved="light"] body.dashboard-page .forge-sidebar-account .session-summary,
html[data-forge-theme-resolved="light"] body.dashboard-page .forge-sidebar-account .organization-context-switcher,
html[data-forge-theme-resolved="light"] body.dashboard-page .forge-sidebar-account .experience-profile-control {
  background: transparent;
  border: 0;
}

@media (max-width: 1366px) {
  :root { --forge-navigation-sidebar-width: 276px; --forge-navigation-sidebar-collapsed-width: 62px; }
}
