/* Final ServerPanel density layer. Keep this last in App.razor. */
.server-layout-scope .server-content-wrap { padding: .38rem .55rem 1.5rem !important; }

.server-page-stage {
    --compact-panel: rgba(9, 16, 29, .96);
    --compact-accent: 132, 102, 255;
}

.server-page-stage :is(
    .ops-overview, .managed-app-page, .command-studio-page, .roll-studio-page,
    .loot-studio-page, .loot-tier-studio-page, .achievement-studio-page,
    .mail-studio-page, .guide-studio-page, .item-studio-page, .koth-studio-page,
    .help-studio-page, .daily-studio-page, .welcome-studio-page, .fame-studio-page,
    .colored-emoji-page, .staff-management-page, .backup-vault-page,
    .vote-reward-page, .title-studio-page, .rules-page, .index-tools-page,
    .suspicious-trades-page, .runtime-issues-shell, .tsuma-shell,
    .variant-archive, .player-archive, .combat-studio, .boss-foundry,
    .interaction-studio, .index-access-page
) {
    width: 100%;
    max-width: none !important;
    gap: .55rem !important;
    padding-bottom: 1.5rem !important;
}

.server-page-stage :is([class$="-workspace"], [class*="-workspace "]) { gap: .55rem !important; }

/* MudBlazor spacing and controls. */
.server-page-stage .mud-grid-spacing-xs-3 {
    width: calc(100% + 8px);
    margin: -8px 0 0 -8px;
}

.server-page-stage .mud-grid-spacing-xs-3 > .mud-grid-item { padding: 8px 0 0 8px; }

.server-page-stage .mud-grid-spacing-xs-2 {
    width: calc(100% + 6px);
    margin: -6px 0 0 -6px;
}

.server-page-stage .mud-grid-spacing-xs-2 > .mud-grid-item { padding: 6px 0 0 6px; }
.server-page-stage .pa-6 { padding: 1rem !important; }
.server-page-stage .pa-5 { padding: .8rem !important; }
.server-page-stage .pa-4 { padding: .68rem !important; }
.server-page-stage .pa-3 { padding: .55rem !important; }

.server-page-stage .mud-button-root {
    min-height: 31px !important;
    border-radius: .48rem !important;
    font-size: .68rem;
}

.server-page-stage .mud-icon-button {
    width: 32px;
    height: 32px;
    padding: 5px;
    border-radius: .48rem;
}

.server-page-stage :is(.mud-button-root, .mud-icon-button):hover {
    transform: none !important;
    box-shadow: none !important;
}

.server-page-stage .mud-alert { padding: .5rem .65rem; border-radius: .55rem !important; }
.server-page-stage .mud-input-outlined { border-radius: .5rem !important; }
.server-page-stage .mud-input-control:focus-within { transform: none; }
.server-page-stage .mud-tabs { border-radius: .58rem; }
.server-page-stage .mud-tabs-tabbar { padding: .16rem; }

.server-page-stage .mud-tab {
    min-height: 34px;
    padding: 0 .7rem;
    border-radius: .42rem;
    font-size: .68rem;
}

.server-page-stage .mud-tabs-panels { padding: .18rem; }
.server-page-stage .mud-expansion-panels { gap: .3rem; }
.server-page-stage .mud-expand-panel { border-radius: .55rem !important; }
.server-page-stage .mud-expand-panel-header { min-height: 42px; padding: 0 .7rem; }
.server-page-stage .mud-table-container { border-radius: .55rem; }

.server-page-stage .mud-table-head .mud-table-cell {
    height: 38px;
    padding: .45rem .55rem;
    font-size: .58rem;
}

.server-page-stage .mud-table-body .mud-table-cell {
    padding: .5rem .55rem;
    font-size: .69rem;
}

.server-page-stage .mud-list-item { border-radius: .42rem; }
.server-page-stage .mud-list-item:hover { transform: none; }

/* Flatter shared panels and metrics. */
.server-page-stage :is(.managed-card, .managed-stat-card, .dungeon-card, .overview-mini-stat),
.server-page-stage :is([class$="-card"], [class*="-card "]):not(.image-review-card) {
    border-radius: .58rem !important;
    box-shadow: 0 5px 16px rgba(0, 0, 0, .14), inset 0 1px rgba(255, 255, 255, .018) !important;
}

.server-page-stage :is(.managed-card, .managed-stat-card, .dungeon-card, .overview-mini-stat):hover,
.server-page-stage :is([class$="-card"], [class*="-card "]):not(.image-review-card):hover {
    transform: none !important;
    box-shadow: 0 5px 16px rgba(0, 0, 0, .14), inset 0 1px rgba(255, 255, 255, .018) !important;
}

.server-page-stage .managed-stat-card { min-height: 68px; overflow: hidden; }
.server-page-stage .managed-stat-card::before { display: none; }

.server-page-stage .managed-stat-card :is(
    .managed-stat-top, .event-stat, .request-stat, .quest-stat, .store-stat, .system-log-stat
) { align-items: center; }

.server-page-stage .managed-stat-label {
    font-size: .54rem !important;
    letter-spacing: .075em !important;
}

.server-page-stage .managed-stat-value {
    margin-top: .08rem !important;
    font-size: 1rem !important;
    line-height: 1 !important;
}

.server-page-stage .managed-stat-subtext { display: none; }

.server-page-stage .managed-stat-icon {
    width: 29px !important;
    height: 29px !important;
    border-radius: .42rem !important;
}

.server-page-stage .managed-stat-icon .mud-icon-root { font-size: 1rem; }
.server-page-stage .mini-metric-chart { height: 15px; margin-top: .32rem !important; }

/* Existing *-hero naming makes every page header one compact operations rail. */
.server-page-stage :is([class$="-hero"], [class*="-hero "]) {
    isolation: isolate;
    position: relative;
    min-height: 58px !important;
    overflow: hidden;
    align-items: center !important;
    gap: .75rem !important;
    padding: .55rem .72rem !important;
    border: 1px solid rgba(var(--compact-accent), .2) !important;
    border-radius: .58rem !important;
    background: linear-gradient(96deg, rgba(var(--compact-accent), .075), transparent 38%), var(--compact-panel) !important;
    box-shadow: 0 5px 17px rgba(0, 0, 0, .18), inset 0 1px rgba(255, 255, 255, .018) !important;
}

.server-page-stage :is([class$="-hero"], [class*="-hero "])::before {
    content: "" !important;
    position: absolute !important;
    inset: 8px auto 8px 0 !important;
    z-index: 2 !important;
    width: 2px !important;
    height: auto !important;
    border: 0 !important;
    border-radius: 0 2px 2px 0 !important;
    opacity: .9 !important;
    background: rgb(var(--compact-accent)) !important;
    box-shadow: 0 0 12px rgba(var(--compact-accent), .45) !important;
    pointer-events: none;
}

.server-page-stage :is([class$="-hero"], [class*="-hero "])::after { display: none !important; }
.server-page-stage :is(.event-hero, .daily-hero, .vote-reward-hero, .mail-studio-hero, .achievement-studio-hero) { --compact-accent: 244, 183, 95; }
.server-page-stage :is(.database-hero, .help-hero, .interaction-hero, .system-log-hero, .tools-hero, .issue-health-hero) { --compact-accent: 63, 200, 239; }
.server-page-stage :is(.store-hero, .studio-hero, .welcome-hero, .fame-hero) { --compact-accent: 83, 219, 177; }
.server-page-stage :is(.request-hero, .sketch-moderation-hero, .trade-sentinel-hero) { --compact-accent: 248, 125, 145; }

.server-page-stage :is([class$="-hero"], [class*="-hero "]) :is(
    h1, .mud-typography-h3, .mud-typography-h4, .managed-hero-title
) {
    margin: 0 0 .13rem !important;
    color: #f4f7fc !important;
    font-family: Bahnschrift, "Arial Narrow", system-ui, sans-serif !important;
    font-size: 1.12rem !important;
    font-weight: 760 !important;
    line-height: 1.05 !important;
    letter-spacing: -.025em !important;
}

.server-page-stage :is([class$="-hero"], [class*="-hero "]) :is(
    p, .managed-hero-subtitle, .item-studio-subtitle, .trade-sentinel-subtitle, .tsuma-hero-copy
) {
    max-width: 900px;
    margin: 0 !important;
    overflow: hidden;
    color: #8190a7 !important;
    font-size: .61rem !important;
    line-height: 1.25 !important;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.server-page-stage :is([class$="-hero"], [class*="-hero "]) :is(
    [class$="-kicker"], [class*="-kicker "], [class$="-eyebrow"], [class*="-eyebrow "],
    .managed-breadcrumb
) {
    margin: 0 0 .1rem !important;
    font-size: .48rem !important;
    line-height: 1 !important;
    letter-spacing: .11em !important;
}

.server-page-stage :is(
    .command-sync-line, .achievement-hero-status, .guide-hero-status,
    .loot-hero-status, .mail-hero-status, .roll-hero-status,
    .fame-runtime-state, .koth-runtime-note, .staff-owner-note,
    .welcome-seed-note, .help-seed-note, .managed-hero-footnote
) { display: none !important; }

.server-page-stage :is(
    [class$="-hero-orbit"], [class*="-hero-orbit "], .roll-hero-dice, .item-studio-hero-art
) { display: none !important; }

.server-page-stage :is([class$="-hero"], [class*="-hero "]) :is(
    .hero-orbit, .hero-grid, .hero-flare, .hero-stamp
) { display: none !important; }

/* Header metrics become one horizontal status strip. */
.server-page-stage :is(
    [class$="-hero-stats"], [class*="-hero-stats "],
    [class$="-hero-metrics"], [class*="-hero-metrics "],
    .hero-stats, .hero-metrics, .hero-ledger, .fame-overview-grid
) {
    display: flex !important;
    flex: 0 0 auto;
    align-items: stretch !important;
    justify-content: flex-end !important;
    gap: .28rem !important;
}

.server-page-stage :is(
    [class$="-hero-stats"], [class*="-hero-stats "],
    [class$="-hero-metrics"], [class*="-hero-metrics "],
    .hero-stats, .hero-metrics, .hero-ledger, .fame-overview-grid
) > :is(div, article, span) {
    display: flex !important;
    min-width: 66px !important;
    min-height: 32px !important;
    align-items: center !important;
    justify-content: center;
    gap: .34rem !important;
    padding: .28rem .45rem !important;
    border: 1px solid rgba(148, 163, 184, .1) !important;
    border-radius: .42rem !important;
    background: rgba(255, 255, 255, .022) !important;
}

.server-page-stage :is(
    [class$="-hero-stats"], [class*="-hero-stats "],
    [class$="-hero-metrics"], [class*="-hero-metrics "],
    .hero-stats, .hero-metrics, .hero-ledger, .fame-overview-grid
) strong {
    order: -1;
    color: #f4f7fb !important;
    font-size: .8rem !important;
    line-height: 1 !important;
}

.server-page-stage :is(
    [class$="-hero-stats"], [class*="-hero-stats "],
    [class$="-hero-metrics"], [class*="-hero-metrics "],
    .hero-stats, .hero-metrics, .hero-ledger, .fame-overview-grid
) :is(span, small) {
    margin: 0 !important;
    color: #718096 !important;
    font-size: .47rem !important;
    line-height: 1.05 !important;
    letter-spacing: .055em !important;
    white-space: nowrap;
}

.server-page-stage :is(
    .achievement-hero-stats, .emoji-hero-stats, .guide-hero-stats,
    .loot-hero-stats, .loot-tier-hero-metrics, .mail-hero-stats, .roll-hero-stats
) > :is(div, article) > small:last-child,
.server-page-stage .emoji-hero-stats > article > span { display: none !important; }

.server-page-stage :is(
    .fame-overview-grid, .help-hero-stats, .koth-hero-stats,
    .staff-hero-stats, .welcome-hero-stats, .daily-hero-stats
) > article > :is(span, .mud-icon-root) {
    order: -2;
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    padding: 4px !important;
    border-radius: .36rem !important;
}

.server-page-stage :is(
    [class$="-hero-layout"], [class*="-hero-layout "], .managed-hero-layout, .tsuma-hero-row
) {
    width: 100%;
    align-items: center !important;
    gap: .75rem !important;
}

.server-page-stage .managed-hero-status {
    min-width: 210px;
    padding: .4rem .5rem;
    border-radius: .45rem;
}

.server-page-stage .managed-hero-status > small,
.server-page-stage .managed-hero-status-label { display: none; }
.server-page-stage .managed-hero-status-value { margin: 0; font-size: .78rem; }
.server-page-stage .managed-hero-status-actions { margin-top: .3rem; padding-top: .28rem; }

.server-page-stage :is(.tsuma-hero-pills, .item-studio-hero-chips) {
    gap: .25rem;
    margin-top: .28rem;
}

.server-page-stage :is(.tsuma-hero-pill, .item-studio-hero-chips > span) {
    min-height: 22px;
    padding: 2px 6px;
    font-size: .52rem;
}

/* Compact exceptions for page-specific hero content. */
.server-page-stage .variant-archive .archive-hero {
    grid-template-columns: minmax(0, 1fr) auto;
}

.server-page-stage .variant-archive .hero-kicker,
.server-page-stage .archive-title > span,
.server-page-stage .emoji-private,
.server-page-stage .issue-hero-status-row { display: none !important; }

.server-page-stage .hero-ledger {
    border: 0;
    background: transparent;
    backdrop-filter: none;
}

.server-page-stage .hero-ledger article { border-right: 1px solid rgba(148, 163, 184, .1); }

.server-page-stage .player-archive .archive-hero {
    grid-template-columns: auto minmax(0, 1fr) minmax(280px, .55fr);
}

.server-page-stage .archive-seal {
    width: 32px;
    height: 32px;
    border-radius: .42rem;
}

.server-page-stage .archive-search { gap: .35rem; }
.server-page-stage .archive-search .mud-button-root { min-height: 31px !important; }

.server-page-stage :is(.hero-status, .rules-status-stamp) {
    min-width: 140px;
    gap: .4rem;
    padding: .3rem .45rem;
    border-radius: .42rem;
}

.server-page-stage :is(.hero-status, .rules-status-stamp) .mud-icon-root { font-size: 1rem; }
.server-page-stage :is(.hero-status, .rules-status-stamp) small { display: none; }
.server-page-stage :is(.hero-status, .rules-status-stamp) strong { margin: 0; font-size: .62rem; }

.server-page-stage .issue-health-summary {
    display: flex;
    flex: 0 0 auto;
    gap: .4rem;
    padding: .3rem .4rem;
    border-radius: .42rem;
}

.server-page-stage .issue-health-ring {
    width: 32px;
    padding: 2px;
    box-shadow: none;
}

.server-page-stage .issue-health-ring strong { font-size: .65rem; }
.server-page-stage .issue-health-ring span,
.server-page-stage .issue-health-message span { display: none; }
.server-page-stage .issue-health-message strong { font-size: .62rem; }

.server-page-stage .access-stat { min-height: 44px !important; gap: .55rem; }
.server-page-stage .access-stat > .mud-icon-root { padding: .4rem; }
.server-page-stage .access-stat strong { font-size: 1rem; }
.server-page-stage .access-stat small { display: none; }

.server-page-stage :is(.tsuma-stat-card, .tsuma-character-stat) {
    min-height: 68px;
    padding: .55rem;
    border-radius: .58rem;
}

.server-page-stage :is(.tsuma-stat-card, .tsuma-character-stat)::after { display: none; }
.server-page-stage :is(.tsuma-stat-card, .tsuma-character-stat) strong { margin-top: .12rem; font-size: 1rem; }
.server-page-stage :is(.tsuma-stat-card, .tsuma-character-stat) small { margin-top: .08rem; }

.server-page-stage .issue-metric-card { gap: .45rem; padding: .55rem; }
.server-page-stage .issue-metric-icon { width: 30px; height: 30px; flex-basis: 30px; border-radius: .4rem; }
.server-page-stage .issue-metric-card strong { font-size: 1rem; }
.server-page-stage .issue-metric-card small { display: none; }

/* Control room keeps its live summary but uses the same density. */
.server-page-stage .ops-command-header {
    grid-template-columns: minmax(0, 1.5fr) minmax(380px, .65fr);
    min-height: 82px;
    gap: .75rem;
    padding: .65rem .75rem;
    border-radius: .6rem;
    box-shadow: 0 5px 17px rgba(0, 0, 0, .18);
}

.server-page-stage .ops-command-header::before { opacity: .08; background-size: 28px 28px; }
.server-page-stage .ops-command-header::after { display: none; }
.server-page-stage .ops-eyebrow { font-size: .48rem; }

.server-page-stage .ops-command-header h1 {
    margin: .12rem 0;
    font: 760 1.2rem/1.05 Bahnschrift, "Arial Narrow", system-ui, sans-serif;
    letter-spacing: -.03em;
}

.server-page-stage .ops-command-header p {
    overflow: hidden;
    font-size: .61rem;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.server-page-stage .ops-hero-actions { gap: .35rem; margin-top: .35rem; }

.server-page-stage :is(.ops-primary-action, .ops-secondary-action) {
    min-height: 27px;
    padding: .3rem .55rem;
    border-radius: .42rem;
    font-size: .57rem;
    box-shadow: none;
}

.server-page-stage .ops-hero-console {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: .45rem;
    padding: .4rem;
    border-radius: .48rem;
    box-shadow: none;
}

.server-page-stage .ops-console-topline,
.server-page-stage :is(.ops-console-label, .ops-console-health small) { display: none; }
.server-page-stage .ops-console-health { gap: .45rem; padding: 0; }
.server-page-stage .ops-health-orbit { width: 30px; height: 30px; box-shadow: none; }
.server-page-stage .ops-console-health strong { margin: 0; font-size: .7rem; }

.server-page-stage .ops-console-rows {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .2rem;
}

.server-page-stage .ops-console-rows div {
    display: grid;
    gap: .06rem;
    padding: .25rem .35rem;
    border-radius: .35rem;
    font-size: .47rem;
}

.server-page-stage .ops-console-rows strong { font-size: .58rem; }
.server-page-stage .ops-pulse-grid { gap: .45rem; margin-top: .45rem; }

.server-page-stage .ops-pulse-card {
    min-height: 68px;
    gap: .45rem;
    padding: .5rem;
    border-radius: .55rem !important;
}

.server-page-stage .ops-pulse-card::after,
.server-page-stage .ops-pulse-card em { display: none; }
.server-page-stage .ops-pulse-icon { width: 30px; height: 30px; border-radius: .4rem; }
.server-page-stage .ops-pulse-card strong { margin-top: .1rem; font-size: .9rem; }
.server-page-stage .ops-workspace-grid { gap: .55rem; margin-top: .75rem; }
.server-page-stage .ops-section-heading { margin-bottom: .45rem; }
.server-page-stage .ops-section-heading h2 { margin-top: .12rem; font-size: 1.05rem; }
.server-page-stage :is(.ops-app-grid, .ops-owner-sidebar) { gap: .55rem; }

.server-page-stage .ops-app-card {
    min-height: 255px;
    padding: .72rem;
    border-radius: .62rem !important;
}

.server-page-stage .ops-app-card:hover { transform: none; }
.server-page-stage .ops-app-description { min-height: 0; margin: .55rem 0; font-size: .68rem; }
.server-page-stage .ops-discord-inline { margin-bottom: .45rem; padding: .45rem .5rem; border-radius: .48rem; }
.server-page-stage .ops-metrics-row div { padding: .45rem; }
.server-page-stage .ops-card-footer { padding-top: .5rem; }
.server-page-stage .ops-side-card { padding: .65rem; border-radius: .58rem !important; }

@media (max-width: 1180px) {
    .server-page-stage :is(
        .command-hero-stats, .achievement-hero-stats, .emoji-hero-stats,
        .fame-overview-grid, .guide-hero-stats, .koth-hero-stats,
        .loot-hero-stats, .mail-hero-stats, .roll-hero-stats, .staff-hero-stats
    ) > :nth-child(n + 4) { display: none !important; }
}

@media (max-width: 900px) {
    .server-layout-scope .server-content-wrap { padding: .45rem .5rem 1rem !important; }

    .server-page-stage :is([class$="-hero"], [class*="-hero "]) {
        grid-template-columns: minmax(0, 1fr) !important;
        flex-wrap: wrap;
    }

    .server-page-stage :is(
        [class$="-hero-stats"], [class*="-hero-stats "],
        [class$="-hero-metrics"], [class*="-hero-metrics "],
        .hero-stats, .hero-metrics, .hero-ledger, .fame-overview-grid
    ) {
        width: 100%;
        justify-content: flex-start !important;
        overflow-x: auto;
    }

    .server-page-stage .ops-command-header { grid-template-columns: 1fr; }
    .server-page-stage .ops-pulse-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 600px) {
    .server-page-stage :is(.mud-grid-spacing-xs-3, .mud-grid-spacing-xs-2) {
        width: calc(100% + 5px);
        margin: -5px 0 0 -5px;
    }

    .server-page-stage :is(.mud-grid-spacing-xs-3, .mud-grid-spacing-xs-2) > .mud-grid-item {
        padding: 5px 0 0 5px;
    }

    .server-page-stage :is(.ops-pulse-grid, .ops-owner-sidebar) { grid-template-columns: 1fr; }
}
