/* Dashboard palette and shared controls. Load after sidebar-floating.css. */
:root {
  color-scheme: dark;
  --yellow: #ffdb1a;
  --yellow-dark: #d5b500;
  --ink: #f5f5f7;
  --dark: #000;
  --muted: #c1c3ca;
  --paper: #1b1b1f;
  --canvas: #000;
  --line: #55555e;
  --soft: #26262c;
  --white: #f5f5f7;
  --text: #f5f5f7;
  --surface: #1b1b1f;
  --panel: #1b1b1f;
  --border: #55555e;
  --accent: #ffdb1a;
  --control-surface: #29292f;
  --control-hover: #393940;
  --control-selected: #ffdb1a;
  --control-border: #797982;
  --control-text: #f5f5f7;
  --contrast-focus: #ffeb78;
  --area-engineering: #65e6a1;
  --area-programming: #75b6ff;
  --area-team: #ff7884;
  --area-marketing: #cf91ff;
  --area-social: #ffab62;
  --area-engineering-wash: #173329;
  --area-programming-wash: #192b42;
  --area-team-wash: #3c2028;
  --area-marketing-wash: #352443;
  --area-social-wash: #3c281b;
}
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline-color: var(--yellow);
}
.skip-link { color: #111114; }

/* The top-layer help fades in and out; JavaScript closes it after the exit. */
.platform-tooltip:popover-open,
.platform-tooltip[data-open] {
  opacity: 1;
  transform: translateY(0);
  transition: opacity .14s ease, transform .14s ease;
}
.platform-tooltip.is-entering,
.platform-tooltip.is-closing {
  opacity: 0;
  transform: translateY(5px);
}
@media (prefers-reduced-motion: reduce) {
  .platform-tooltip:popover-open,
  .platform-tooltip[data-open] { transition: none; }
}

html, body, .app-shell, .app-shell > .workspace, .app-shell .main-content {
  background: #000;
  color: var(--ink);
}
.app-shell > .sidebar-frame,
.app-shell > .workspace > .app-topbar {
  background: #1b1b1f;
  border-color: #55555e;
}
.app-shell .sidebar-frame > .sidebar.sidebar { color: var(--ink); }
.app-shell .sidebar-frame .side-nav :is(button, a) { color: #d7d7dd; }
.app-shell .sidebar-frame .side-nav :is(button, a):is(:hover, :focus-visible) {
  background: #313138;
  color: #fff;
}
.app-shell .sidebar-frame .side-nav :is(button, a)[aria-current=page],
.app-shell .sidebar-frame .side-nav :is(button, a)[aria-current=page]:is(:hover, :focus-visible) {
  background: var(--yellow);
  color: #111114;
  box-shadow: none;
}
.app-shell .sidebar-frame .side-nav [aria-current=page] svg { color: #111114; }
.app-shell .sidebar-frame :is(.sidebar-label, .sidebar-foot p, .team-id) { color: #bfc0c7; }
.app-shell .sidebar-frame :is(.brand-mark, .season-badge) { color: #101012; }
.app-shell .sidebar-frame .season-badge { color: var(--yellow); }
.app-shell .app-topbar { flex-wrap: wrap; }
.app-shell .app-topbar .topbar-tools { flex-wrap: wrap; justify-content: flex-end; }
.app-shell .app-topbar .breadcrumb {
  display: flex;
  align-items: center;
  flex: 1 1 220px;
  min-width: 0;
  color: #bfc0c7;
  font-size: 11px;
}
.app-shell .app-topbar .breadcrumb-team,
.app-shell .app-topbar .breadcrumb-season { color: #aeb0b8; font-weight: 500; }
.app-shell .app-topbar .breadcrumb svg { width: 14px; height: 14px; color: #8c8d95; }
.app-shell .app-topbar .breadcrumb h1 {
  min-width: 0;
  margin: 0;
  color: var(--yellow);
  font-size: clamp(20px, 2vw, 24px);
  font-weight: 800;
  line-height: 1.2;
  overflow-wrap: anywhere;
}
@media (max-width: 860px) {
  .app-shell .app-topbar { flex-wrap: wrap; gap: 8px 12px; }
  .app-shell .app-topbar .breadcrumb { flex: 1 1 calc(100% - 60px); }
  .app-shell .app-topbar .topbar-tools { flex: 1 1 100%; justify-content: flex-end; flex-wrap: wrap; }
}
@media (max-width: 600px) {
  .app-shell .app-topbar .breadcrumb { font-size: 10px; gap: 5px; }
  .app-shell .app-topbar .breadcrumb h1 { font-size: 20px; }
  .app-shell .app-topbar .breadcrumb-season { display: none; }
}
.app-shell .app-topbar .topbar-social { display: flex; }
.app-shell .app-topbar .team-channel-icons { display: flex; align-items: center; gap: 5px; }
.app-shell .app-topbar .team-channel-icon {
  display: inline-grid;
  place-items: center;
  flex: none;
  width: 40px;
  height: 40px;
  padding: 0;
  border: 1px solid #f5f5f7;
  border-radius: 9px;
  background: #000;
  color: #f5f5f7;
  text-decoration: none;
  transition: color .14s ease, border-color .14s ease, box-shadow .14s ease;
}
.app-shell .app-topbar .team-channel-icon svg { width: 20px; height: 20px; color: currentColor; }
.app-shell .app-topbar .team-channel-icon[data-social=globe]:is(:hover, :focus-visible) { color: var(--yellow); border-color: var(--yellow); }
.app-shell .app-topbar .team-channel-icon[data-social=instagram]:is(:hover, :focus-visible) { color: #ff579f; border-color: #ff579f; }
.app-shell .app-topbar .team-channel-icon[data-social=youtube]:is(:hover, :focus-visible) { color: #ff4a4a; border-color: #ff4a4a; }
.app-shell .app-topbar .team-channel-icon[data-social=tiktok]:is(:hover, :focus-visible) { color: #53ede4; border-color: #53ede4; box-shadow: inset -2px 0 #ff6ca9; }
.app-shell .app-topbar .unified-search {
  position: relative;
  display: flex;
  align-items: center;
  gap: 6px;
  flex: 0 0 auto;
  width: 40px;
  min-width: 0;
  max-width: 40px;
  order: 0;
  transition: width .18s ease, max-width .18s ease, flex-basis .18s ease;
}
.app-shell .app-topbar .unified-search.is-open {
  flex: 1 1 390px;
  width: min(470px, 100%);
  max-width: 470px;
}
.app-shell .app-topbar .unified-search [data-search-toggle] {
  width: 40px;
  min-width: 40px;
  height: 40px;
  min-height: 40px;
}
.app-shell .app-topbar .unified-search.is-open [data-search-toggle] {
  border-color: var(--yellow);
  color: var(--yellow);
}
.app-shell .app-topbar .unified-search-drawer {
  position: relative;
  flex: 1 1 auto;
  min-width: 0;
  max-width: 0;
  overflow: visible;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: max-width .18s ease, opacity .14s ease, visibility .14s;
}
.app-shell .app-topbar .unified-search.is-open .unified-search-drawer {
  max-width: 430px;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.app-shell .app-topbar .unified-search-drawer form {
  display: flex;
  align-items: center;
  gap: 5px;
  min-width: 0;
}
.app-shell .app-topbar .unified-search-drawer form input {
  flex: 1 1 auto;
  min-width: 0;
  height: 40px;
}
.app-shell .app-topbar .unified-search-drawer input,
.app-shell .app-topbar .unified-search-results {
  background: #111115;
  color: var(--ink);
  border-color: #797982;
}
.app-shell .app-topbar .unified-search-results button:is(:hover, :focus-visible) {
  background: #303035;
  outline-color: var(--yellow);
}

@media (prefers-reduced-motion: reduce) {
  .app-shell .app-topbar .team-channel-icon { transition: none; }
  .app-shell .app-topbar :is(.unified-search, .unified-search-drawer) { transition: none; }
}

/* Shell owns the outer inset; content starts one gap below the toolbar. */
.app-shell > .workspace > .main-frame > .main-content {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0 5px 0 var(--shell-gap);
}
body.dialog-scroll-locked .app-shell > .workspace > .main-frame > .main-content { overflow-y: hidden; }
.app-shell .engineering-editor-page { height: calc(100dvh - var(--engineering-editor-offset, 90px)); }
.app-shell .main-content .page-heading { margin-bottom: 18px; }
.app-shell .main-content :is(.team-planner-heading-row > h1, .finance-page-heading > h1, .accompaniment-head > div > h1, .pdi-workspace-title > h1, .forum-page-heading-copy > h1, .portfolio-heading > div > h1, .marketing-heading > div > h1, .personal-view-head > h1, .page-heading > div > h1) {
  display: none;
}
.app-shell .main-content :is(.preview-tabs, .activity-view-options, .objective-tabs-toolbar) {
  margin-block: 16px;
}

.app-shell .main-content :is(.panel, .activity-card, .resource-card, .kpi, .card, .metric-card, .widget),
.app-shell :is(.dialog, .engineering-configuration-dialog) {
  background-color: var(--paper);
  border-color: var(--line);
  color: var(--ink);
}
.app-shell .main-content :is(.panel-head, .dialog-head, .objective-tabs-toolbar) {
  background-color: #26262c;
  border-color: var(--line);
}
.app-shell .main-content :is(.panel-foot, .dialog-foot) { background-color: #18181c; }
.app-shell .main-content :is(h1, h2, h3, h4, strong, b) { color: var(--ink); }
.app-shell .main-content :is(.eyebrow, .season-badge) { color: var(--yellow); }
.app-shell .main-content :is(input, select, textarea)::placeholder { color: #b5b5bc; }

.app-shell .main-content :is(input:not([type=checkbox]):not([type=radio]), select, textarea, .filter-input, .search-wrap input),
.app-shell .app-topbar :is(input, select) {
  background-color: #111115;
  border-color: #797982;
  color: var(--ink);
}
.app-shell .main-content :is(.button, .icon-button),
.app-shell .app-topbar :is(.button, .icon-button),
.app-shell :is(.engineering-camera-controls, .engineering-viewer-tools, .engineering-header-actions) .button,
body .engineering-configuration-dialog :is(.button, .icon-button) {
  background: var(--control-surface);
  color: var(--ink);
  border-color: var(--control-border);
  box-shadow: none;
}
.app-shell .main-content :is(.button, .icon-button):not(:disabled):hover,
.app-shell :is(.engineering-camera-controls, .engineering-viewer-tools, .engineering-header-actions) .button:not(:disabled):hover,
body .engineering-configuration-dialog :is(.button, .icon-button):not(:disabled):hover {
  background: var(--control-hover);
  border-color: #c4c4cb;
  color: #fff;
}
.app-shell .main-content .button.primary,
.app-shell .engineering-header-actions .button.primary,
body .engineering-configuration-dialog .button.primary {
  background: var(--yellow);
  color: #111114;
  border-color: var(--yellow);
  box-shadow: none;
}
.app-shell .main-content .button.primary:not(:disabled):hover,
.app-shell .engineering-header-actions .button.primary:not(:disabled):hover,
body .engineering-configuration-dialog .button.primary:not(:disabled):hover {
  background: #ffeb78;
  color: #111114;
  border-color: #ffeb78;
}
.app-shell .main-content .button.danger {
  background: #322126;
  color: #ffadb5;
  border-color: #d66d79;
}
.app-shell .main-content .button.danger:not(:disabled):hover {
  background: #482730;
  color: #ffd7db;
  border-color: #ff97a1;
}
.app-shell .main-content :is(.filter-chip:has(input:checked), .filter-chip[aria-pressed=true]),
.app-shell .main-content :is(.preview-tabs, .activity-view-options, .objective-tabs-toolbar) .button[aria-pressed=true] {
  background: var(--yellow);
  color: #111114;
  border-color: var(--yellow);
}
.app-shell .main-content :is(.filter-chip:has(input:checked), .filter-chip[aria-pressed=true]) :is(svg, strong) {
  color: #111114;
}
.app-shell .main-content :is(.status.warn, .status.warning, .notice) {
  background: #28271e;
  color: #ffe58b;
  border-color: #8f8040;
}
.app-shell .main-content :is(.status.good, .status.success) {
  background: #1c3026;
  color: #9ff2ba;
  border-color: #4eb980;
}
.app-shell .main-content :is(.status.bad, .status.error, .status.danger, .alert) {
  background: #352127;
  color: #ffb5bd;
  border-color: #d66d79;
}

/* Engineering keeps its scene; controls and captions use the shared palette. */
.app-shell :is(.engineering-showcase-caption .eyebrow, .engineering-particle-label, .engineering-pivot-marker) { color: var(--yellow); }
.app-shell :is(.engineering-model-stats > div, .engineering-orientation, .engineering-upload-jobs, .engineering-pivot) {
  background-color: #242429;
  border-color: #62626b;
  color: var(--ink);
}
.app-shell :is(.engineering-panel-head .engineering-model-stats > div, .engineering-showcase-caption .engineering-model-stats > div) {
  background-color: #29292e;
  border-color: #74747d;
}
.app-shell .engineering-upload-jobs h2 { color: var(--yellow); }
.app-shell .engineering-fullscreen-toggle {
  background: #29292fee;
  color: var(--yellow);
  border-color: #91919a;
}
.app-shell .engineering-camera-presets [aria-pressed=true],
.app-shell .engineering-editor-tabs [role=tab][aria-selected=true],
body .engineering-configuration-dialog .engineering-camera-presets [aria-pressed=true],
body .engineering-configuration-dialog .engineering-editor-tabs [role=tab][aria-selected=true],
.app-shell [data-xray-components] > .is-located,
.app-shell .engineering-component-pin.is-active {
  background: var(--yellow);
  color: #111114;
  border-color: var(--yellow);
  outline-color: #ffeb78;
}
.app-shell .engineering-component-pin.is-active .engineering-component-number { color: #111114; }

/* Area titles carry color; navigation uses the shared neutral/yellow states. */
[data-dashboard-page=engineering] .app-topbar .breadcrumb h1 { color: var(--area-engineering); }
[data-dashboard-page=programming] .app-topbar .breadcrumb h1 { color: var(--area-programming); }
[data-dashboard-page=team] .app-topbar .breadcrumb h1 { color: var(--area-team); }
:is([data-dashboard-page=fll-lab], [data-dashboard-page=fll-impact], [data-dashboard-page=fll-support]) .app-topbar .breadcrumb h1 { color: var(--area-social); }
[data-dashboard-page=marketing] .app-topbar .breadcrumb h1 { color: var(--area-marketing); }
.app-shell .main-content :is(.area-chip, .specialty-tag).area-team { color: var(--area-team); background: var(--area-team-wash); }
.app-shell .main-content :is(.area-chip, .specialty-tag).area-marketing { color: var(--area-marketing); background: var(--area-marketing-wash); }

/* Reuse one purple across Marketing content and forum topics. */
.app-shell .marketing-page,
.app-shell .marketing-dialog {
  --marketing-accent: var(--area-marketing);
  --marketing-soft: var(--area-marketing-wash);
}
.app-shell .marketing-page .marketing-tabs button[aria-selected=true],
.app-shell .marketing-page .marketing-view-switch button[aria-pressed=true] {
  background: var(--yellow);
  color: #111114;
  box-shadow: inset 0 -2px #111114;
}
.app-shell .marketing-page :is(.marketing-cover svg, .marketing-calendar-item, .marketing-day.is-today time, .marketing-identity-card .marketing-card-foot) {
  color: var(--area-marketing);
}
.app-shell .marketing-page :is(.marketing-event-card, .marketing-identity-card):hover {
  border-color: var(--area-marketing);
}
.app-shell .marketing-page .marketing-card:focus-within {
  outline-color: var(--yellow);
}
.app-shell .forum-tone-marketing {
  --forum-tone: var(--area-marketing);
  --forum-wash: var(--area-marketing-wash);
  --forum-edge: #a76bd4;
}

/* Forum surfaces use neutral graphite; only area markers carry area colors. */
.app-shell .forum-page-heading,
.app-shell .main-content .forum-board,
.app-shell .forum-board-toolbar {
  background: #1b1b1f;
  border-color: #55555e;
}
.app-shell .forum-topic-row {
  background: linear-gradient(115deg, var(--forum-wash, #282820), #1b1b1f 48%);
}
.app-shell .forum-topic-page .forum-topic-heading {
  background: linear-gradient(110deg, var(--forum-wash, #282820), #1b1b1f 66%);
}
.app-shell .forum-topic-row .forum-tag:first-child {
  color: #e1e1e6;
  border-color: #777780;
  background: #2b2b31;
}
.app-shell .forum-topic-row > .forum-avatar-author,
.app-shell .forum-topic-row > .forum-avatar-author .forum-person-avatar {
  background: #18181c;
}
.app-shell .forum-board .forum-search input,
.app-shell .forum-filters select,
body .forum-composer :is(input[type=search], select, textarea) {
  background: #111115;
  border-color: #797982;
  color: var(--ink);
}
.app-shell .forum-board .forum-search input::placeholder,
body .forum-composer input[type=search]::placeholder { color: #b5b5bc; }
body .forum-people-combobox > .field { margin-bottom: 2px; }
body .forum-people-combobox [data-forum-people-count] { display: block; margin-top: 2px; }
body .forum-people-combobox > .forum-composer-picker {
  background: #1b1b1f;
  border-color: #797982;
  color: var(--ink);
}
body .forum-people-combobox .forum-composer-choice:is(:hover, :focus-within) {
  background: #303035;
}
body .forum-composer-choice input { accent-color: var(--yellow); }
body .forum-composer-chip { background: #303035; border-color: #797982; color: var(--ink); }
body .forum-rich-toolbar,
body .forum-rich-preview,
body .forum-reference-popover,
body .forum-code-dialog {
  background: #1b1b1f;
  border-color: #62626b;
  color: var(--ink);
}
body .forum-rich-toolbar button {
  background: #29292f;
  border-color: #797982;
  color: var(--ink);
}
body .forum-rich-toolbar button:is(:hover, :focus-visible),
body .forum-rich-toolbar button[aria-pressed=true],
body .forum-reference-option:is(:hover, [aria-selected=true]) {
  background: var(--yellow);
  border-color: var(--yellow);
  color: #111114;
}
body .forum-reference-option { color: var(--ink); }
body .forum-reference-note { border-color: #62626b; color: #c1c3ca; }
body .forum-rich-preview { background: #111115; }
body .forum-code-block,
body .forum-code-block .forum-code { background: #111115; border-color: #62626b; color: #e8e8ed; }
body .forum-code-block figcaption { background: #29292f; color: #e8e8ed; }
body .forum-activity-link { background: #29292f; border-color: #797982; color: var(--yellow); }
body .forum-composer-skills > [data-forum-skill-options] {
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
}
body .forum-composer-skill-group {
  --skill-color: var(--area-team);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px 10px;
  min-width: 0;
  border-color: #5e5e66;
  background: #202024;
}
body .forum-composer-skill-group:has(input[value^="engineering."]) { --skill-color: var(--area-engineering); }
body .forum-composer-skill-group:has(input[value^="programming."]) { --skill-color: var(--area-programming); }
body .forum-composer-skill-group > legend { color: var(--skill-color); }
body .forum-composer-skill-group .forum-composer-choice {
  min-width: 0;
  overflow-wrap: anywhere;
}
body .forum-composer-skill-group .forum-composer-choice:has(input[value="team.marketing"]) {
  color: var(--area-marketing);
}
body .forum-composer-skill-group .forum-composer-choice:has(input:checked) {
  background: #303035;
  box-shadow: inset 3px 0 var(--yellow);
}
@media (max-width: 800px) {
  body .forum-composer-skill-group { grid-template-columns: minmax(0, 1fr); }
}

/* Center the page loading state within the closed content frame. */
.app-shell #page-content:has(>.loading:only-child){display:grid;place-items:center;min-height:100%}
.app-shell #page-content>.loading:only-child,
.app-shell [data-page-loading-host]>.loading:only-child{flex-direction:column;gap:18px;width:100%;padding:24px;text-align:center;color:var(--ink);font-size:clamp(18px,2vw,22px);font-weight:650;line-height:1.4}
.app-shell #page-content>.loading:only-child>.spinner,
.app-shell [data-page-loading-host]>.loading:only-child>.spinner{width:48px;height:48px;border-width:3px;color:var(--yellow);box-shadow:0 0 24px #ffdb1a16;flex:none}
@media(prefers-reduced-motion:reduce){.app-shell #page-content>.loading:only-child>.spinner,
.app-shell [data-page-loading-host]>.loading:only-child>.spinner{animation:none}}
/* Small engineering owner portraits share the heading row. */
.app-shell .app-topbar .page-responsibles{display:inline-flex;align-items:center;gap:6px;flex:none}
.app-shell .app-topbar .page-responsibles:empty{display:none}
.app-shell .app-topbar .page-responsible-avatar{display:inline-flex;align-items:center;justify-content:center;flex:none;width:36px;height:36px;min-height:36px;padding:0;overflow:hidden;border:2px solid var(--yellow);border-radius:50%;background:#25252b;color:var(--ink);font-size:11px;font-weight:750;line-height:1;transition:transform .16s ease,box-shadow .16s ease}
.app-shell .app-topbar .page-responsible-avatar img{display:block;width:100%;height:100%;object-fit:cover}
.app-shell .app-topbar .page-responsible-avatar:is(:hover,:focus-visible){transform:translateY(-1px);box-shadow:0 0 0 3px #ffdb1a2b}
@media(prefers-reduced-motion:reduce){.app-shell .app-topbar .page-responsible-avatar{transition:none;transform:none}}

.app-shell .app-topbar .page-responsibles .responsibility-people{display:flex;align-items:center;gap:6px;flex:none;min-width:0}
.app-shell .app-topbar .page-responsible-avatar .initials{display:grid;place-items:center;width:100%;height:100%;min-width:0;border:0;border-radius:inherit;background:transparent;font-size:11px}
.app-shell .app-topbar .page-responsible-avatar .responsibility-person-copy{display:none}

/* Search uses the free header width before considering the compact mode. */
.app-shell>.workspace{container-name:workspace-shell;container-type:inline-size}
.app-shell .app-topbar .topbar-tools{display:flex;flex:0 0 auto;flex-wrap:nowrap;min-width:0;gap:8px}
.app-shell .app-topbar .topbar-tools>*{flex-shrink:0}
.app-shell .app-topbar .unified-search.is-open{flex:0 0 auto;width:390px;max-width:390px}
.app-shell .app-topbar .breadcrumb{flex:1 1 0;transition:flex-basis .18s ease}
.app-shell .app-topbar .breadcrumb h1{transition:font-size .18s ease}
@container workspace-shell (min-width:1001px){
 .app-shell .app-topbar{flex-wrap:nowrap}
 .app-shell .app-topbar .breadcrumb{flex-wrap:nowrap;overflow:hidden}
 .app-shell .app-topbar .breadcrumb h1{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .app-shell .app-topbar .breadcrumb-season{flex-shrink:1;overflow:hidden;text-overflow:ellipsis}
}
@container workspace-shell (max-width:1000px){
 .app-shell .app-topbar:not(.search-open) .breadcrumb{flex:1 1 calc(100% - 56px)}
 .app-shell .app-topbar:not(.search-open) .topbar-tools{flex:1 1 100%;max-width:100%;flex-wrap:wrap}
 .app-shell .app-topbar.search-open{flex-wrap:nowrap}
 .app-shell .app-topbar.search-open>:not(.topbar-tools),
 .app-shell .app-topbar.search-open .topbar-tools>:not(.unified-search){display:none}
 .app-shell .app-topbar.search-open .topbar-tools{display:flex;flex:1 1 100%;width:100%;flex-wrap:nowrap}
 .app-shell .app-topbar.search-open .unified-search{flex:1 1 100%;width:100%;max-width:none}
 .app-shell .app-topbar.search-open .unified-search [data-search-toggle]{display:none}
 .app-shell .app-topbar.search-open .unified-search-drawer{max-width:none}
}
@media(prefers-reduced-motion:reduce){.app-shell .app-topbar .breadcrumb,.app-shell .app-topbar .breadcrumb h1{transition:none}}

/* Remove only empty title wrappers, keeping useful introductions and controls. */
.app-shell .main-content :is(.marketing-heading,.portfolio-heading)>div:has(>h1:only-child){display:none}
.app-shell .main-content .page-heading:has(>div:only-child>h1:only-child),
.app-shell .main-content .personal-view-head:has(>h1:only-child){display:none}
.app-shell .main-content :is(.marketing-heading-actions,.portfolio-heading>.portfolio-actions){flex:0 1 auto;min-width:0;width:auto;gap:8px}
.app-shell .main-content :is(.marketing-page>.marketing-heading,.portfolio-page>.portfolio-heading){justify-content:flex-end;align-items:center;gap:8px;margin-bottom:12px}
.app-shell .main-content .marketing-heading:has(>.marketing-heading-actions:empty),
.app-shell .main-content .portfolio-page>.portfolio-heading:has(>.portfolio-actions:empty){display:none}
.app-shell .main-content .finance-page-heading{display:flex;justify-content:flex-end;align-items:center;min-height:0;gap:8px;margin-bottom:12px}


@container workspace-shell (min-width:1001px) and (max-width:1450px){
 .app-shell .app-topbar.search-open .topbar-social,
 .app-shell .app-topbar.search-open .season-select,
 .app-shell .app-topbar.search-open label[for=season-select],
 .app-shell .app-topbar.search-open .breadcrumb-season{display:none}
}

/* Contextual actions share the first useful controls instead of a blank heading. */
.app-shell .marketing-page>.marketing-heading[hidden],.app-shell .portfolio-page>.portfolio-heading[hidden]{display:none}
.app-shell .marketing-publication-filters>.marketing-heading-actions,.app-shell .marketing-pagination>.marketing-heading-actions{margin-inline-start:auto;flex:0 0 auto;width:auto;display:flex;align-items:center;gap:8px}
.app-shell #marketing-panel>.marketing-heading-actions{display:flex;justify-content:flex-end;margin-bottom:12px}
.app-shell .portfolio-revision-tools{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap}
.app-shell .portfolio-revision-tools>.portfolio-actions{width:auto;margin:0;align-items:center}
.app-shell .portfolio-revision-tools .button,.app-shell .marketing-heading-actions .button{min-height:44px}

/* Publications keep filters, actions and multi-page navigation on one accessible row. */
.app-shell .main-content .marketing-page>.marketing-toolbar{display:block;max-width:100%;min-width:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;margin-bottom:12px}
.app-shell .main-content .marketing-publication-filters{display:flex;flex-flow:row nowrap;align-items:center;gap:10px;width:max-content;min-width:100%;max-width:none}
.app-shell .main-content .marketing-publication-filters>:is(.marketing-status-segments,.marketing-published-toggle,.marketing-filter-options,.marketing-heading-actions,.marketing-pagination){flex:0 0 auto;width:auto;max-width:none;margin:0}
.app-shell .main-content .marketing-publication-filters>.marketing-status-segments{overflow:visible}
.app-shell .main-content .marketing-publication-filters>.marketing-filter-options{display:flex;flex-flow:row nowrap;gap:10px}
.app-shell .main-content .marketing-publication-filters>.marketing-heading-actions{order:1;margin-inline-start:auto;white-space:nowrap}
.app-shell .main-content .marketing-publication-filters>.marketing-pagination{order:2;display:flex;flex-flow:row nowrap;align-items:center;gap:10px;padding:0;white-space:nowrap}
.app-shell .main-content .marketing-publication-filters>.marketing-pagination>div{display:flex;flex-flow:row nowrap;align-items:center;gap:8px}
.app-shell .main-content .marketing-publication-filters>.marketing-pagination p{white-space:nowrap}
@media(max-width:700px){.app-shell .main-content .marketing-publication-filters>.marketing-filter-options{width:auto}.app-shell .main-content .marketing-publication-filters>.marketing-status-segments{width:auto}.app-shell .main-content .marketing-publication-filters>.marketing-filter-options label{flex:0 0 auto}}

/* Users: navigation and scope share the first useful row. */
.settings-user-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 16px}
.settings-user-toolbar .activity-view-options{margin:0;flex:0 1 auto}
.settings-user-toolbar .filters{margin:0 0 0 auto;display:flex;align-items:center}
.settings-user-toolbar .check-label{margin:0;white-space:nowrap}
.settings-user-toolbar select,.settings-user-toolbar .button{min-height:40px}
@media(max-width:600px){.settings-user-toolbar{gap:8px}.settings-user-toolbar .filters{margin-left:0}}

/* Personal priorities and quick access share one compact row above the charts. */
.app-shell .dashboard-priorities{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:16px;margin:16px 0;align-items:stretch}
.dashboard-priorities>.panel,.dashboard-priorities>aside,.dashboard-priorities>aside>.panel{min-width:0;height:100%;margin:0}
.dashboard-priorities>.panel,.dashboard-priorities>aside>.panel{display:flex;flex-direction:column;overflow:hidden;border-radius:16px}
.dashboard-priorities .panel-head{gap:12px;padding:16px;border-radius:15px 15px 0 0}
.dashboard-upcoming-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:16px;flex:1;align-content:start}
.dashboard-upcoming-card{display:flex;flex-direction:column;align-items:stretch;gap:10px;min-width:0;padding:14px;text-align:left;background:var(--surface,#1b1b1f);color:var(--ink);border:1px solid #4a4a54;border-radius:12px;cursor:pointer}
.dashboard-upcoming-card:hover,.dashboard-upcoming-card:focus-visible{border-color:var(--yellow);background:#27272d}
.dashboard-upcoming-card>strong{font-size:14px;line-height:1.4;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.dashboard-upcoming-date{display:flex;align-items:center;gap:6px;font-size:12px;color:#d0d0d7}
.dashboard-upcoming-date svg{width:15px;height:15px}
.dashboard-upcoming-status{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px}
.dashboard-upcoming-progress{height:4px;border-radius:4px;background:#34343e;overflow:hidden}
.dashboard-upcoming-progress>span{display:block;height:100%;background:var(--yellow);border-radius:inherit}
.dashboard-priorities .quick-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:16px;flex:1;align-content:start}
.dashboard-priorities .quick-link{min-height:48px;border-radius:12px}
@media(max-width:1000px){.app-shell .dashboard-priorities{grid-template-columns:minmax(0,1fr)}}
@media(max-width:520px){.dashboard-upcoming-grid{grid-template-columns:minmax(0,1fr)}.dashboard-priorities .panel-head,.dashboard-upcoming-grid,.dashboard-priorities .quick-links{padding:12px}}

/* One shell gap owns each content edge. The frame already supplies vertical space. */
.app-shell{--content-inset:var(--shell-gap)}
.app-shell #page-content{display:flow-root;min-width:0}
.app-shell #page-content>:first-child{margin-block-start:0}
.app-shell #page-content>:last-child{margin-block-end:0}

/* Keep a module's initial wait in the same frame as full-page loading. */
.app-shell #page-content:has(>[data-page-loading-host]>.loading:only-child){display:grid;grid-template-rows:minmax(0,1fr);height:100%}
.app-shell #page-content:has(>.season-readonly):has(>[data-page-loading-host]>.loading:only-child){grid-template-rows:auto minmax(0,1fr)}
.app-shell [data-page-loading-host]:has(>.loading:only-child){display:grid;place-items:center;min-height:0}

/* Keep intrinsic module widths inside the viewport-sized dashboard frame. */
.app-shell{width:100%;max-width:100%}
.app-shell>.workspace,.app-shell>.workspace>.main-frame,.app-shell>.workspace>.main-frame>.main-content,.app-shell #page-content{min-width:0;max-width:100%}
.app-shell>.workspace>.main-frame>.main-content{overflow-x:auto}
.app-shell #page-content>:is(section,article,div,main,form){min-width:0;max-width:100%}
.app-shell .main-content :is(.panel,.panel-body,.toolbar,.filters,.form-grid,.inline-fields,fieldset){min-width:0}
.app-shell .main-content :is(input:not([type=checkbox]):not([type=radio]),select,textarea){max-width:100%}
.app-shell .main-content :is(.table-wrap,.calendar-scroll){max-width:100%;min-width:0;overflow-x:auto}
.app-shell .main-content :is(pre,code){max-width:100%;overflow-wrap:anywhere}
.app-shell .app-topbar,.app-shell .app-topbar .topbar-tools{min-width:0;max-width:100%}
.app-shell .app-topbar .unified-search.is-open{max-width:min(390px,100%)}

/* Area avatars move to the top bar; hide their empty former heading only. */
.app-shell .main-content .page-heading:has(>.heading-actions:only-child>[data-area-responsibilities]:only-child:empty){display:none}
