/* Shared Mud controls in the interactive enterprise shell; area layouts extend this sheet. */
.recovery-page { min-height:100svh; padding:clamp(1.25rem,4vw,3rem); background:#eee8da; color:#233c40; }
.recovery-page section { max-width:36rem; margin:clamp(2rem,10vh,6rem) auto; padding:clamp(1.25rem,4vw,2.5rem); background:#faf5e9; border:1px solid #d6d0c4; overflow-wrap:anywhere; }
.recovery-page h1 { font:clamp(2rem,6vw,3rem)/1.15 Georgia,serif; color:#173b3b; }
.recovery-page p { margin-block:1rem; }
.recovery-page a { color:inherit; }
.recovery-page .small-brand { display:inline-flex; align-items:center; min-height:44px; gap:.3em; }
.recovery-page .recovery-action { display:inline-flex; align-items:center; min-height:44px; margin-top:1rem; padding:.75rem 1rem; color:#fff7e7; background:#99472f; text-decoration:none; }
.recovery-page a:focus-visible { outline:3px solid #173b3b; outline-offset:4px; }
.enterprise .admin-filter-bar .mud-button-root,
.enterprise .admin-pagination .mud-button-root { min-height: 44px; font-size: 1rem; text-transform: none; }
.enterprise .admin-active-filters { min-width: 0; max-width: 100%; }
.enterprise .admin-filter-chip { min-width: 0; max-width: 100%; flex-wrap: wrap; }
.enterprise .admin-filter-chip .mud-chip { min-width: 0; max-width: 100%; height: auto; min-height: 32px; padding-block: 6px; white-space: normal; font-size: 1rem; overflow-wrap: anywhere; }
.enterprise .admin-filter-chip .mud-chip .mud-chip-content { min-width: 0; white-space: normal; line-height: 1.4; overflow-wrap: anywhere; }
.enterprise .admin-filter-chip .mud-button-root { min-width: 44px; padding-inline: .5rem; }
.enterprise .admin-filter-bar .mud-button-root:focus-visible,
.enterprise .admin-pagination .mud-button-root:focus-visible { outline: 3px solid #99472f; outline-offset: 3px; }
.mud-popover-provider, .mud-dialog-container, .mud-snackbar-provider { z-index: 1400; }

/* Dashboard data and controls must remain readable on both narrow and wide layouts. */
.mol-dashboard { font-size: 16px; --dash-muted: #52635d; }
.mol-dashboard :is(select, input, .dash-button, .dash-card p, .dash-table, .dash-table td, .dash-search input) { font-size: 16px; }
.mol-dashboard :is(.dash-eyebrow, .dash-card-heading a, .dash-kpi p, .dash-chart-key,
    .dash-chart-tooltip, .dash-chart-values, .dash-table th, .dash-table small, .dash-badge,
    .dash-attention p, .dash-attention a) { font-size: 12px; }
.mol-dashboard :is(.dash-eyebrow, .dash-card p, .dash-kpi p, .dash-chart-key, .dash-chart-tooltip,
    .dash-chart-values summary, .dash-table th, .dash-table small, .dash-badge, .dash-attention p,
    .dash-ring small) { color: #52635d; }
.mol-dashboard .dash-axis { font-size: 12px; fill: #52635d; }

/* Mud's global reset removes UA paragraph spacing used by the separate game screens. */
:where(.landing-shell, .campaign-portal, .game-shell, .game-overlay, .access-page, .loading-table) p { margin-block: 1em; }
.campaign-tabs button { display: block; }

/* Area overview: one painted anchor, quiet data planes and a compact working toolbar. */
.enterprise .area-dashboard { color: #233c40; font-size: 1rem; max-width: 1500px; margin-inline: auto; }
.enterprise .area-heading { position: relative; min-height: 170px; display: flex; align-items: center; overflow: hidden; background: #173b3b; color: #faf5e9; margin-block: .25rem 0; border-radius: 4px; }
.enterprise .area-heading-copy { position: relative; z-index: 1; width: min(70%, 700px); padding: 1.6rem 2rem; background: linear-gradient(90deg, #173b3b 75%, transparent); }
.enterprise .area-heading h1 { font-family: Georgia, serif; font-weight: 400; font-size: clamp(1.9rem, 3vw, 3rem); line-height: 1.08; margin: .2rem 0 .5rem; }
.enterprise .area-heading .area-kicker { color: #e4c8a7; }
.enterprise .area-subtitle { font-size: 1rem; max-width: 54ch; margin: 0; color: #f2eadf; }
.enterprise .area-heading-image { position: absolute; inset: 0 0 0 auto; height: 100%; width: 52%; object-fit: cover; object-position: 50% 44%; opacity: .84; }
.enterprise .area-kicker { margin: 0; font-size: .75rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #52635d; }
.enterprise .area-context-line { margin-top: .85rem; font-size: .875rem; color: #415c54; }
.enterprise .area-toolbar { min-height: 50px; display: flex; align-items: center; justify-content: space-between; gap: .75rem; border-bottom: 1px solid #baa995; }
.enterprise .area-asof { margin: .5rem 0; font-size: .875rem; color: #52635d; }
.enterprise .area-toolbar .mud-button-root, .enterprise .area-period .mud-button-root, .enterprise .area-state .mud-button-root { min-height: 44px; text-transform: none; font-size: 1rem; }
.enterprise .area-period { padding: 1rem 1.25rem; background: #faf5e9; border-bottom: 1px solid #baa995; }
.enterprise .area-period-title { font-family: Georgia, serif; font-size: 1.15rem; margin: 0 0 .5rem; }
.enterprise .area-period-fields { display: flex; align-items: end; flex-wrap: wrap; gap: .75rem; }
.enterprise .area-period-fields .mud-input-control { width: min(100%, 210px); margin: 0; }
.enterprise .area-period > p:last-child { font-size: .875rem; color: #52635d; margin: .5rem 0 0; }
.enterprise .area-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; margin-block: 1.2rem 1.4rem; }
.enterprise .area-metric { min-width: 0; padding: .35rem 1.25rem .35rem 0; }
.enterprise .area-metric + .area-metric { padding-left: 1.25rem; border-left: 1px solid #baa995; }
.enterprise .area-metric-label { display: inline-block; font-weight: 700; color: #173b3b; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.enterprise .area-metric-label:hover, .enterprise .area-chart-legend a:hover, .enterprise .area-followup a:hover { color: #99472f; }
.enterprise .area-dashboard a:focus-visible, .enterprise .area-dashboard button:focus-visible { outline: 3px solid #99472f; outline-offset: 3px; }
.enterprise .area-metric-value { font-family: Georgia, serif; font-size: clamp(1.55rem, 2.7vw, 2.65rem); line-height: 1.2; font-variant-numeric: tabular-nums; margin-block: .3rem; }
.enterprise .area-metric-scope, .enterprise .area-metric-coverage { margin: .3rem 0 0; font-size: .8125rem; line-height: 1.4; color: #52635d; }
.enterprise .area-metric-coverage { color: #99472f; font-weight: 700; }
.enterprise .area-attention { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; padding: .7rem 1rem; margin-bottom: 1.4rem; background: #f8ebdf; border-left: 4px solid #99472f; }
.enterprise .area-attention > span { display: grid; place-items: center; font-weight: 700; color: #fff; background: #99472f; border-radius: 50%; width: 28px; height: 28px; }
.enterprise .area-attention > div:nth-child(2) { flex: 1 1 250px; }
.enterprise .area-attention p { margin: .2rem 0 0; }
.enterprise .area-attention .area-metric { padding: 0; }
.enterprise .area-attention .area-metric-value { font-size: 1.4rem; }
.enterprise .area-lower { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(230px, 1fr); gap: clamp(1rem, 3vw, 3rem); }
.enterprise .area-section-heading { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: .5rem; }
.enterprise .area-section-heading h2, .enterprise .area-followup h2 { font-family: Georgia, serif; font-weight: 400; font-size: 1.55rem; margin: .2rem 0; }
.enterprise .area-section-heading > p { font-size: .8125rem; color: #52635d; margin: .2rem 0; }
.enterprise .area-bar { display: flex; width: 100%; height: 32px; overflow: hidden; background: #ded3bd; margin-block: 1.1rem .8rem; }
.enterprise .area-bar-part { display: block; min-width: 0; transition: width .25s ease; }
.enterprise .area-bar-assigned, .enterprise .area-swatch-assigned { background: #173b3b; }
.enterprise .area-bar-available, .enterprise .area-swatch-available { background: #bc7b48; }
.enterprise .area-chart-legend { list-style: none; padding: 0; margin: 0; }
.enterprise .area-chart-legend li { display: flex; align-items: center; gap: .7rem; padding: .45rem 0; border-bottom: 1px solid #d0c3ae; }
.enterprise .area-chart-legend a { flex: 1; color: #173b3b; }
.enterprise .area-chart-legend strong { font-variant-numeric: tabular-nums; }
.enterprise .area-swatch { width: 13px; height: 13px; flex: none; }
.enterprise .area-followup { border-left: 1px solid #baa995; padding-left: 1.4rem; }
.enterprise .area-followup p:not(.area-kicker) { font-size: 1rem; line-height: 1.45; color: #52635d; }
.enterprise .area-followup nav { display: flex; flex-direction: column; }
.enterprise .area-followup a { display: flex; justify-content: space-between; gap: .5rem; padding: .58rem 0; color: #173b3b; font-weight: 700; border-top: 1px solid #d0c3ae; }
.enterprise .area-definition { max-width: 100ch; font-size: .8125rem; line-height: 1.5; color: #52635d; margin-top: 1.6rem; }
.enterprise .area-state { margin: 1.5rem 0; padding: 1rem; background: #faf5e9; }
@media (max-width: 900px) { .enterprise .area-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 1rem; } .enterprise .area-metric:nth-child(3) { padding-left: 0; border-left: 0; } }
@media (max-width: 650px) { .enterprise .area-heading { min-height: 145px; } .enterprise .area-heading-copy { width: 84%; padding: 1rem; } .enterprise .area-heading-image { width: 62%; opacity: .48; } .enterprise .area-heading h1 { font-size: 1.8rem; } .enterprise .area-subtitle { font-size: 1rem; } .enterprise .area-toolbar { align-items: start; flex-direction: column; padding: .5rem 0; } .enterprise .area-metric { padding-right: .6rem; } .enterprise .area-metric + .area-metric { padding-left: .6rem; } .enterprise .area-metric:nth-child(3) { padding-left: 0; } .enterprise .area-metric-value { font-size: 1.5rem; } .enterprise .area-lower { grid-template-columns: 1fr; } .enterprise .area-followup { border-left: 0; border-top: 1px solid #baa995; padding: 1rem 0 0; } }
@media (prefers-reduced-motion: reduce) { .enterprise .area-bar-part { transition: none; } }
