/* Cross suite materials. Loaded after panel and theme styles; no domain behavior.
   Keep navigation geometry/breakpoints and dense workstations in their owners. */
:root {
  --ui-canvas: #f0f4f7;
  --ui-glow: #e0eef1;
  --ui-line: #d6e0e6;
  --ui-muted: #536775;
  --ui-control-line: #748b9a;
  --ui-radius: 18px;
  --ui-control-radius: 10px;
  --ui-elevation: 0 2px 4px #15394d04, 0 10px 28px #15394d07;
  --ui-floating: 0 18px 56px #102f4926, 0 2px 8px #102f4910;
  --ui-chrome: #ffffff;
  --ui-chrome-glass: #ffffffed;
}
:root[data-theme="dark"] {
  --ui-canvas: #0d1823;
  --ui-glow: #142f3c;
  --ui-line: #365167;
  --ui-muted: #b2c4d2;
  --ui-control-line: #6d899e;
  --ui-elevation: 0 2px 6px #0002, 0 12px 28px #0002;
  --ui-floating: 0 18px 56px #0007;
  --ui-chrome: #142739;
  --ui-chrome-glass: #142739ed;
}
.cross-ui {
  background: var(--ui-canvas);
  color: var(--brand-text);
  font-family: var(--font-brand);
  -webkit-font-smoothing: antialiased;
}
.cross-ui .app-main {
  background: radial-gradient(ellipse at 85% 0, var(--ui-glow), transparent 40rem), var(--ui-canvas);
}
.cross-ui :where(h1,h2,h3) { text-wrap: balance; }
.cross-ui :where(p,li,dd) { overflow-wrap: break-word; }
.cross-ui .page-heading h1,
.cross-ui .portal-hero h1 { font-size: clamp(1.75rem,2.5vw,2.5rem); letter-spacing: -.045em; line-height: 1.15; font-weight: 700; }
.cross-ui .page-heading p { color: var(--ui-muted); font-size: .9rem; line-height: 1.6; max-width: 72ch; }
.cross-ui .eyebrow { color: var(--ui-muted); letter-spacing: .1em; font-weight: 700; }
.cross-ui .page-heading { margin-bottom: 1.5rem; gap: 1rem; }
.cross-ui .heading-actions { gap: .65rem; }
.cross-ui .back-link { display: inline-flex; padding-block: .45rem; margin-bottom: .5rem; font-size: .85rem; }

/* Navigation has one material; data surfaces remain opaque. */
.cross-ui .app-shell .sidebar {
  background: linear-gradient(165deg,#174e64 0,#10364f 45%,#0c293f 100%);
  border-right: 1px solid #ffffff1f;
  box-shadow: 6px 0 24px #11364b0a;
}
.cross-ui .sidebar::after { opacity: .035; }
.cross-ui .main-nav :where(a,summary) { border-radius: var(--ui-control-radius); transition: background-color 160ms ease, box-shadow 160ms ease; }
.cross-ui .main-nav a:hover { background: #ffffff12; }
.cross-ui .main-nav a.active { background: #ffffff1f; box-shadow: inset 3px 0 #f18f16, inset 0 0 0 1px #ffffff15; color: #fff; }
.cross-ui .main-nav a.active i { color: #ffd39b; }
.cross-ui .sidebar-collapse { border-radius: var(--ui-control-radius); background: #ffffff08; }
.cross-ui .app-shell .topbar { background: var(--ui-chrome); border-bottom: 1px solid var(--ui-line); box-shadow: 0 2px 10px #15394d04; }
.cross-ui .topbar-context > span { font-weight: 700; color: var(--brand-text); }
.cross-ui .avatar { border-radius: 11px; box-shadow: inset 0 0 0 1px var(--ui-line); }
.cross-ui .panel-switch > summary,
.cross-ui .cross-command-trigger { border-radius: var(--ui-control-radius); border: 1px solid var(--ui-line); background: var(--surface-subtle); }
.cross-ui :where(.panel-switch-menu,.notification-popover,.cross-command,.cross-help-panel) { border-radius: var(--ui-radius); box-shadow: var(--ui-floating); }
@supports (backdrop-filter: blur(12px)) {
  .cross-ui .app-shell .topbar { background: var(--ui-chrome-glass); backdrop-filter: blur(12px) saturate(130%); }
}

/* Shared surfaces, including consumers without cross-workspace (P9). */
.cross-ui :is(.panel,.card,.kpi-card,.health-card,.stat-card,.panel-launch-card,.b2b-card) {
  border: 1px solid var(--ui-line);
  border-radius: var(--ui-radius);
  background-color: var(--brand-surface);
  box-shadow: var(--ui-elevation);
}
.cross-ui .panel-head { gap: 1rem; }
.cross-ui .panel-head h2 { font-size: 1.05rem; letter-spacing: -.02em; line-height: 1.4; }
.cross-ui .panel-note { color: var(--ui-muted); font-size: .8rem; line-height: 1.5; }
.cross-ui :is(.kpi-card,.stat-card) > strong { letter-spacing: -.04em; font-variant-numeric: tabular-nums; }
.cross-ui .kpi-card { position: relative; }
.cross-ui .kpi-card > span { color: var(--ui-muted); font-weight: 500; }
.cross-ui .kpi-card.hero-kpi { background: #114565; color: #fff; border-color: #114565; }
.cross-ui .kpi-card.hero-kpi :is(span,strong,small) { color: #fff; }
.cross-ui .kpi-card.danger-kpi { border-color: var(--semantic-error); }
.cross-ui :is(a.kpi-card,.panel-launch-card,.b2b-card):hover { border-color: var(--border-strong); box-shadow: var(--shadow-sm); }
.cross-ui .panel-launch-icon { border-radius: 14px; }
.cross-ui .portal-hero { border-bottom: 1px solid var(--ui-line); padding-bottom: 1.5rem; }
.cross-ui .panel-launch-copy > span { color: var(--ui-muted); }
.cross-ui .panel-launch-action { color: var(--brand-primary); border-color: var(--ui-line); }
.cross-ui :is(.command-hero,.portal-hero) { background: linear-gradient(125deg,#103b56,#155b68); border-radius: var(--ui-radius); }
.cross-ui :is(.command-hero,.portal-hero) :is(h1,p,.eyebrow,.command-status strong) { color: #fff; }
.cross-ui :is(.command-hero,.portal-hero) .command-status small { color: #d2e9f1; }
.cross-ui .executive-filters { background: var(--brand-surface); border-color: var(--ui-line); border-radius: var(--ui-radius); box-shadow: var(--ui-elevation); }
.cross-ui .executive-filters label > span { color: var(--ui-muted); }
.cross-ui :is(.btn,.button) { border-radius: var(--ui-control-radius); font-weight: 700; letter-spacing: -.01em; transition: background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease; }
.cross-ui :is(.btn-primary,.btn.primary) { box-shadow: inset 0 1px 0 #ffffff22, 0 2px 4px #11456514; }
.cross-ui :is(.btn-ghost,.btn.ghost) { border-color: var(--ui-control-line); background-color: var(--brand-surface); }
.cross-ui :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=range]):not([type=color]),select,textarea) {
  border-radius: var(--ui-control-radius);
  border-color: var(--ui-control-line);
}
.cross-ui :where(input,textarea)::placeholder { color: var(--ui-muted); opacity: 1; }
.cross-ui :where(button,a,input,select,textarea,summary,[tabindex]):focus-visible { outline: 3px solid var(--focus-color); outline-offset: 3px; }
.cross-ui .sidebar :where(a,button,summary):focus-visible { outline-color: #fff; }
.cross-ui :where(.table-wrap,.iam-table-scroll) { border-radius: 12px; border-color: var(--ui-line); }
.cross-ui :where(table) { font-variant-numeric: tabular-nums; }
.cross-ui :where(table) th { color: var(--ui-muted); font-weight: 700; }
.cross-ui :where(table) tbody tr:focus-within { background-color: var(--surface-hover); }
.cross-ui :is(.number,.p4-money) { font-variant-numeric: tabular-nums; }
.cross-ui :where(.badge,.status-badge) { border-radius: 6px; }
.cross-ui :where(.empty,.empty-cell,.p4-empty) { color: var(--ui-muted); }
.cross-ui :where(.message,.form-alert) { border-radius: 12px; }
.cross-ui .platform-form-drawer { box-shadow: var(--ui-floating); }
.cross-ui :is(.platform-form-header,.peek-header) { background: var(--brand-surface); border-color: var(--ui-line); }
.cross-ui :is(.platform-disclosure,.p4-saved-summary) { border-radius: 12px; border-color: var(--ui-line); }

/* CRM: search, rules and results have separate readable groups. */
.cross-ui .crm-filters { padding: 1rem 1.15rem; }
.cross-ui .crm-filter-heading { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: .35rem 1rem; margin-bottom: .8rem; }
.cross-ui .crm-filter-heading h2 { font-size: .95rem; margin: 0; letter-spacing: -.015em; }
.cross-ui .crm-filter-heading p { margin: 0; font-size: .8rem; color: var(--ui-muted); }
.cross-ui .crm-filter-bar { gap: .65rem; }
.cross-ui .crm-filter-count { background: var(--brand-surface); color: var(--brand-primary); min-width: 1.4rem; text-align: center; }
.cross-ui .crm-filters .filter-status { padding-top: .75rem; border-top: 1px solid var(--ui-line); }
.cross-ui .crm-filter-group { border-color: var(--ui-line); background: var(--brand-surface); border-radius: 12px; }
.cross-ui .crm-filter-group .crm-filter-group { background: var(--surface-subtle); }
.cross-ui :is(.crm-filter-hint,.crm-filter-feedback,.crm-batch-footer p) { color: var(--ui-muted); }
.cross-ui .crm-filter-chip { background: var(--brand-primary-soft); color: var(--brand-primary); border-color: var(--ui-line); border-radius: 8px; }
.cross-ui .crm-filter-chip button { min-width: 24px; min-height: 24px; }
.cross-ui .crm-filter-error { background: var(--semantic-error-soft); color: var(--semantic-error); border-color: var(--semantic-error); }
.cross-ui .view-toggle { padding: 4px; gap: 3px; border-radius: 12px; background: var(--surface-subtle); border: 1px solid var(--ui-line); }
.cross-ui .view-toggle a { border-radius: 8px; }
.cross-ui .view-toggle a.active { background: var(--brand-surface); color: var(--brand-primary); box-shadow: 0 1px 4px #11364b16; }
.cross-ui .kanban-column { background: var(--surface-subtle); border-radius: 14px; border-color: var(--ui-line); }
.cross-ui .kanban-column > header { border-radius: 14px 14px 0 0; }
.cross-ui .deal-card { border-radius: 12px; border-color: var(--ui-line); box-shadow: 0 2px 6px #12364b08; }
.cross-ui .deal-card:hover { border-color: var(--border-strong); }
.cross-ui :is(.conversation-list,.chat-panel,.conversation-context) { border-radius: 14px; border-color: var(--ui-line); }
.cross-ui .wa-queue-search { border-radius: var(--ui-control-radius); }
/* The chat reserves viewport height for messages, attachments and Send. */
.cross-ui.wa-workstation-page .wa-page-heading { margin-bottom: 8px; gap: 6px; }
.cross-ui.wa-workstation-page .wa-page-heading h1 { font-size: 20px; }

/* Financial review: opaque, stable amounts, explicit preview and saved record. */
.cross-ui .finance-strip { gap: .75rem; background: transparent; border: 0; box-shadow: none; }
.cross-ui .finance-strip > div { padding: 1rem; background: var(--brand-surface); border: 1px solid var(--ui-line); border-radius: 14px; box-shadow: var(--ui-elevation); }
.cross-ui .finance-strip > div > span { color: var(--ui-muted); font-size: .8rem; }
.cross-ui .finance-strip .p4-finance-total { background: #114565; border-color: #114565; }
.cross-ui .finance-strip .p4-finance-total :is(span,strong) { color: #fff; }
.cross-ui .p4-finance-note { background: var(--surface-subtle); color: var(--brand-text); border: 1px solid var(--ui-line); border-radius: 12px; }
.cross-ui .p4-finance-note span { color: var(--ui-muted); font-size: .8rem; }
.cross-ui .p4-section-heading p { color: var(--ui-muted); font-size: .85rem; line-height: 1.5; }
.cross-ui .p4-demand-steps { gap: .65rem; }
.cross-ui .p4-demand-steps li { border-radius: 12px; border-color: var(--ui-line); background: var(--brand-surface); }
.cross-ui .p4-demand-steps li.is-current { border-color: var(--brand-secondary); background: var(--semantic-success-soft); }
.cross-ui .p4-demand-steps p { color: var(--ui-muted); }
.cross-ui [data-preview-status] { color: var(--ui-muted); font-size: .85rem; line-height: 1.5; padding: .7rem 1rem; border-left: 3px solid var(--brand-secondary); }
.cross-ui .p4-period-card { background: var(--surface-subtle); border-color: var(--ui-line); border-radius: 14px; }
.cross-ui .p4-period-card > strong { color: var(--brand-primary); font-variant-numeric: tabular-nums; }
.cross-ui .p4-period-card dl { border-color: var(--ui-line); }
.cross-ui .p4-value-approved { color: var(--semantic-success); }
.cross-ui .p4-value-revision { color: var(--semantic-warning); }
.cross-ui .p4-new-demands.has-new { border-color: var(--semantic-success); background: var(--semantic-success-soft); }
.cross-ui .p4-new-demands > strong { color: var(--semantic-success); }
.cross-ui .p4-review-footer { background: var(--surface-subtle); border-radius: 0 0 var(--ui-radius) var(--ui-radius); }
.cross-ui .p4-review-decision { gap: 1rem; }
.cross-ui .p4-review-buttons .btn { min-height: 44px; }
.cross-ui .p4-procedure-table input { border-color: var(--ui-control-line); font-variant-numeric: tabular-nums; }
.cross-ui .p4-procedure-table :is(th,td).number { text-align: right; }
.cross-ui .p4-procedure-table tr:focus-within { box-shadow: inset 3px 0 var(--brand-secondary); }

/* Executive, technology and partner presentations retain their brand accents. */
.cross-ui :is(.health-card,.stat-card,.b2b-card) { padding: 1.15rem; }
.cross-ui .cross-control-heading h1 { font-size: clamp(1.75rem,2.5vw,2.5rem); letter-spacing: -.045em; }
.cross-ui .cross-control-launch { border-radius: 14px; box-shadow: var(--ui-elevation); }
.cross-ui .health-state { background: var(--brand-surface); color: var(--ui-muted); border-color: var(--ui-line); }
.cross-ui .tech-jump-nav { padding: .35rem; border: 1px solid var(--ui-line); border-radius: 12px; background: var(--brand-surface); }
.cross-ui .tech-jump-nav a { border-radius: 8px; }
.cross-ui .b2b-card { color: var(--brand-text); }
.cross-ui .b2b-notice { background: var(--surface-subtle); border-radius: 14px; border-color: var(--border-strong); border-left-color: var(--brand-secondary); }
.cross-ui .b2b-form :is(input,select,textarea) { background: var(--brand-surface); color: var(--brand-text); }
.cross-ui[data-cross-panel="P8"] .button { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: .65rem 1rem; gap: .5rem; border: 1px solid var(--ui-control-line); background: var(--brand-surface); color: var(--brand-text); text-decoration: none; cursor: pointer; }
.cross-ui[data-cross-panel="P8"] .button.primary { background: #114565; color: #fff; box-shadow: inset 0 1px 0 #ffffff22; }
.cross-ui :is(.pj-map-panel,.pj-detail,.p6-panel,.p7-panel) { border-radius: var(--ui-radius); box-shadow: var(--ui-elevation); }
.cross-ui .cc { --cc-ink: var(--brand-text); --cc-muted: var(--ui-muted); --cc-line: var(--ui-line); --cc-accent: var(--brand-secondary); --cc-surface: var(--brand-surface); }
.cross-ui :is(.cc-header,.cc-panel,.cc-kpi,.cc-record-card) { border-radius: 14px; border-color: var(--ui-line); box-shadow: var(--ui-elevation); }
.cross-ui .cc-nav { border-radius: 14px; }
.cross-ui .cc-nav a { border-radius: 9px; }
.cross-ui .cc-nav a[aria-current="page"] { box-shadow: inset 3px 0 #f18f16; }
.cross-ui :is(.cc-drawer,.cc-palette) { box-shadow: var(--ui-floating); }
.cross-ui .cc-segmented { border-radius: 10px; }
.cross-ui .cc-page-heading h1 { letter-spacing: -.035em; }
.cross-ui .cc-kpi > small { color: var(--ui-muted); }
.cross-ui .cc .btn:where(:not(.primary,.btn-primary,.secondary,.btn-secondary,.danger,.btn-danger)) { background: var(--brand-surface); color: var(--brand-text); border-color: var(--ui-control-line); }
.cross-ui :is(.p4-command-head,.p7-command-head,.p4-unit-context,.p7-unit-context,.p4-card,.p7-card,.p6-unit-focus) { border-radius: var(--ui-radius); box-shadow: var(--ui-elevation); }
.cross-ui .p6-hero h1 { color: #fff; }
.cross-ui .p6-kpis .accent { background: linear-gradient(135deg,#075b5a,#08766e); }
.cross-ui :is(.p4-kpis,.p7-kpis,.p6-kpis) article > span { font-size: .75rem; }
.cross-ui :is(.p4-kpis,.p7-kpis,.p6-kpis) article > small { font-size: .75rem; line-height: 1.5; }
/* Partner dashboards predate the account theme. Explicit pairs prevent light
   cards inheriting light text; brand marks and medical image viewers stay intact. */
html[data-theme="dark"] .cross-ui :is(.p4-dashboard,.p7-dashboard,.p6) { color: var(--brand-text); }
html[data-theme="dark"] .cross-ui .p6 { --p6-ink: var(--brand-text); --p6-line: var(--ui-line); --p6-teal: #75d3d8; }
html[data-theme="dark"] .cross-ui.p7-demo { --brand-primary: #d2b4f1; --brand-primary-strong: #e4d1f8; --brand-secondary: #c6da47; --brand-surface: #201c34; --brand-border: #4c4361; --ui-line: #4c4361; --ui-glow: #29213f; --ui-canvas: #13141f; }
html[data-theme="dark"] .cross-ui :is(.p4-command-head,.p7-command-head,.p4-unit-context,.p7-unit-context,.p4-card,.p7-card,.p4-kpis article,.p7-kpis article,.p4-patient-detail,.p7-patient-detail,.p6-filters,.p6-unit-focus,.p6-kpis article:not(.accent),.p6-panel,.p6-flow article,.p6-unit-grid article,.p6-nuclear-detail,.p6-nuclear-numbers article,.p6-product.software,.p6-closing,.p6-saving-grid > article.featured) {
  background: var(--brand-surface); color: var(--brand-text); border-color: var(--ui-line);
}
html[data-theme="dark"] .cross-ui :is(.p4-dashboard,.p7-dashboard) :is(h1,h2,h3,article > strong,.p4-unit-context strong,.p7-unit-context strong,time) { color: var(--brand-primary); }
html[data-theme="dark"] .cross-ui :is(.p4-dashboard,.p7-dashboard) :is(p,small,.p4-kpis article > span,.p7-kpis article > span) { color: var(--ui-muted); }
html[data-theme="dark"] .cross-ui :is(.p4-command-head,.p7-command-head) :is(h1 strong,.p4-eyebrow,.p7-eyebrow) { color: var(--brand-secondary); }
html[data-theme="dark"] .cross-ui :is(.p4-live-state,.p7-live-state) span { color: var(--semantic-success); }
html[data-theme="dark"] .cross-ui .p6 :is(p,small,label,dt,.p6-kpis article > span) { color: var(--ui-muted); }
html[data-theme="dark"] .cross-ui .p6-kpis .accent :is(span,strong,small) { color: #fff; }
html[data-theme="dark"] .cross-ui .p6 :is(.up,.p6-saving-highlight) { color: var(--semantic-success); }
html[data-theme="dark"] .cross-ui .p6-saving-highlight { background: var(--semantic-success-soft); }
html[data-theme="dark"] .cross-ui .p6-unit-focus-status span { color: var(--brand-secondary); }
html[data-theme="dark"] .cross-ui :is(.p4-clinical-card,.p4-financial-card,.p7-clinical-card,.p7-financial-card) { background: var(--brand-surface); border-color: var(--ui-line); }
html[data-theme="dark"] .cross-ui :is(.p4-clinical-card,.p7-clinical-card) blockquote { background: var(--surface-subtle); }
html[data-theme="dark"] .cross-ui :is(.p4-patient-detail,.p7-patient-detail) :is(strong,b),
html[data-theme="dark"] .cross-ui :is(.p4-patients-card,.p7-patients-card) td strong { color: var(--brand-text); }
html[data-theme="dark"] .cross-ui :is(.p4-clinical-card,.p4-financial-card,.p7-clinical-card,.p7-financial-card) span { color: var(--ui-muted); }
html[data-theme="dark"] .cross-ui :is(.p4-step,.p7-step) span { color: var(--brand-secondary); }
html[data-theme="dark"] .cross-ui .p7-detail-status b { color: inherit; }
html[data-theme="dark"] .cross-ui :is(.p4-eyebrow,.p7-eyebrow,.p7-unit-tag,.p7-pulse-number span,.p7-pulse-number em,.p7-bar-axis,.p7-counter,.p7-event strong) { color: var(--brand-primary); }
html[data-theme="dark"] .cross-ui .user-menu strong { color: var(--brand-text); }
html[data-theme="dark"] .cross-ui :is(.btn.primary,.btn-primary) { background: #215575; border-color: #6d899e; color: #fff; }
html[data-theme="dark"] .cross-ui :is(.btn.secondary,.btn-secondary) { background: #1b6064; border-color: #6d899e; color: #fff; }
html[data-theme="dark"] .cross-ui :is(.btn.primary,.btn-primary,.btn.secondary,.btn-secondary):hover { background: #193f59; }

/* Login/activation share controls without changing authentication. */
.cross-ui .login-panel { background: radial-gradient(ellipse at top right,var(--ui-glow),transparent 80%),var(--brand-surface); }
.cross-ui .login-form h2 { letter-spacing: -.04em; }
.cross-ui .login-field .form-control { border-radius: 12px; }
.cross-ui .login-submit { border-radius: 12px; min-height: 48px; }
.cross-ui .login-cybersecurity-note { border-radius: 14px; }
.cross-ui .login-orbit-core { box-shadow: 0 0 60px #4b9fa62b; }
.cross-ui .access-activation { max-width: 30rem; margin: 2.5rem auto; padding: clamp(1rem,4vw,1.75rem); }
.cross-ui .access-activation form { display: grid; gap: 1rem; }
.cross-ui .access-activation label { display: grid; gap: .5rem; }
.cross-ui .access-activation input { width: 100%; min-height: 44px; padding: .65rem; border: 1px solid var(--ui-control-line); }

@media (max-width: 48rem) {
  .cross-ui .page-heading h1 { font-size: 1.75rem; }
  .cross-ui.wa-workstation-page .wa-page-heading h1 { font-size: 19px; }
  .cross-ui :is(.btn,.button) { min-height: 44px; }
  .cross-ui :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea) { font-size: 16px; }
  .cross-ui .crm-filters { padding: .85rem; }
  .cross-ui .crm-filter-chip button { min-width: 32px; min-height: 32px; }
  .cross-ui .finance-strip > div { padding: .85rem; }
  .cross-ui :is(.panel,.kpi-card,.b2b-card) { border-radius: 14px; }
}
@media (prefers-reduced-transparency: reduce) {
  .cross-ui .app-shell .topbar { background: var(--ui-chrome); backdrop-filter: none; }
}
@media (prefers-reduced-motion: reduce) {
  html:has(.cross-ui) { scroll-behavior: auto; }
  .cross-ui *, .cross-ui *::before, .cross-ui *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
@media (forced-colors: active) {
  .cross-ui .main-nav a.active { outline: 2px solid Highlight; outline-offset: -2px; }
  .cross-ui :is(.btn,.button,.panel,.kpi-card) { border: 1px solid ButtonText; }
  .cross-ui .app-shell .topbar { background: Canvas; backdrop-filter: none; }
}
