/* Patch 564: Analytics-specific CSS split from Core.css. Loaded only on Analytics/Server Statistics chart views. */
.analytics-center-shell{display: grid;
    gap: 1rem;}

.analytics-hero, .analytics-filter-bar, .analytics-chart-card, .analytics-list-card, .analytics-summary-card{border: 1px solid rgba(124, 92, 255, .18);}

.analytics-hero{display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: flex-start;
    background: linear-gradient(135deg, rgba(124,92,255,.16), rgba(34,197,94,.08), rgba(255,255,255,.78));}

.analytics-hero h1{margin: .15rem 0 .35rem;}

.analytics-hero-actions{display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    justify-content: flex-end;}

.analytics-filter-bar{display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: .75rem;
    align-items: end;
    background: rgba(255,255,255,.74);}

.analytics-filter-bar label, .analytics-display-select{display: grid;
    gap: .25rem;
    font-weight: 800;
    font-size: .82rem;
    color: var(--muted-text, #64748b);}

.analytics-filter-bar select, .analytics-filter-bar input, .analytics-display-select select{width: 100%;
    border-radius: .9rem;
    border: 1px solid rgba(148,163,184,.35);
    background: rgba(255,255,255,.88);
    padding: .65rem .75rem;
    color: var(--text-color, #111827);}

.analytics-summary-grid{display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: .75rem;}

.analytics-summary-card{position: relative;
    overflow: hidden;
    display: flex;
    gap: .75rem;
    align-items: center;
    border-radius: 1.1rem;
    padding: .9rem;
    background: rgba(255,255,255,.82);
    box-shadow: 0 12px 30px rgba(15,23,42,.06);}

.analytics-summary-card::before{content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 5px;
    background: rgb(124,92,255);}

.analytics-summary-card.tone-success::before{background: rgb(34,197,94);}

.analytics-summary-card.tone-warning::before{background: rgb(245,158,11);}

.analytics-summary-card.tone-money::before{background: rgb(14,165,233);}

.analytics-summary-card.tone-teams::before{background: rgb(168,85,247);}

.analytics-summary-card.tone-gold::before{background: rgb(234,179,8);}

.analytics-summary-card.tone-purple::before{background: rgb(124,92,255);}

.analytics-summary-icon{display: grid;
    place-items: center;
    width: 2.6rem;
    height: 2.6rem;
    border-radius: 999px;
    background: rgba(124,92,255,.14);
    font-size: 1.35rem;}

.analytics-summary-card small, .analytics-summary-card em{display: block;
    color: var(--muted-text, #64748b);
    font-style: normal;}

.analytics-summary-card strong{display: block;
    font-size: clamp(1.25rem, 2vw, 1.8rem);
    line-height: 1.05;}

.analytics-chart-grid{display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;}

.analytics-chart-card{border-radius: 1.2rem;
    padding: 1rem;
    background: rgba(255,255,255,.86);
    box-shadow: 0 18px 42px rgba(15,23,42,.07);}

.analytics-chart-head{display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: .75rem;}

.analytics-chart-head h3{margin: .08rem 0 .2rem;}

.analytics-chart-head p{margin: 0;
    color: var(--muted-text, #64748b);}

.analytics-chart-icon{float: left;
    display: grid;
    place-items: center;
    width: 2.25rem;
    height: 2.25rem;
    margin-right: .65rem;
    border-radius: .8rem;
    background: rgba(124,92,255,.14);}

.analytics-canvas-wrap{position: relative;
    min-height: 280px;
    overflow: hidden;
    border-radius: 1rem;
    background: linear-gradient(180deg, rgba(248,250,252,.92), rgba(255,255,255,.7));
    border: 1px solid rgba(148,163,184,.18);
    padding: .35rem;}

.analytics-canvas-wrap canvas{display: block;
    width: 100%;
    max-width: 100%;}

.analytics-bottom-grid, .analytics-admin-grid{display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;}

.analytics-admin-grid{grid-template-columns: repeat(3, minmax(0, 1fr));}

.analytics-list-card{border-radius: 1.1rem;
    padding: 1rem;
    background: rgba(255,255,255,.82);}

.analytics-list-card ol{list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    gap: .55rem;}

.analytics-list-card li{display: grid;
    grid-template-columns: minmax(0, 1.3fr) minmax(0, .8fr) minmax(0, .9fr);
    gap: .55rem;
    align-items: center;
    padding: .65rem .75rem;
    border-radius: .8rem;
    background: rgba(248,250,252,.86);
    border: 1px solid rgba(148,163,184,.16);}

.analytics-list-card li span, .analytics-list-card li em{color: var(--muted-text, #64748b);
    font-style: normal;
    overflow-wrap: anywhere;}

.analytics-health-grid{display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    margin-top: .75rem;}

.analytics-health-pill{display: inline-flex;
    align-items: center;
    gap: .35rem;
    padding: .42rem .62rem;
    border-radius: 999px;
    background: rgba(248,113,113,.12);
    border: 1px solid rgba(248,113,113,.3);}

.analytics-health-pill.is-ready{background: rgba(34,197,94,.12);
    border-color: rgba(34,197,94,.32);}

.analytics-health-pill em{color: var(--muted-text, #64748b);
    font-style: normal;}

@media (max-width: 900px){
.analytics-filter-bar, .analytics-bottom-grid, .analytics-admin-grid{grid-template-columns: 1fr;}

.analytics-chart-head, .analytics-hero{flex-direction: column;}

.analytics-list-card li{grid-template-columns: 1fr;}
}


.analytics-center-shell.is-hub-view .analytics-filter-bar{position: sticky;
    top: .5rem;
    z-index: 2;}

.analytics-hub-panel{display: grid;
    gap: 1rem;
    border: 1px solid rgba(124,92,255,.18);
    background: linear-gradient(135deg, rgba(255,255,255,.9), rgba(124,92,255,.06));}

.analytics-hub-button-grid{display: grid;
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
    gap: .85rem;}

.analytics-hub-button-card{display: grid;
    gap: .45rem;
    min-height: 10.5rem;
    padding: 1rem;
    border-radius: 1.2rem;
    border: 1px solid rgba(148,163,184,.22);
    background: rgba(255,255,255,.88);
    box-shadow: 0 16px 36px rgba(15,23,42,.07);
    color: inherit;
    text-decoration: none;
    transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;}

.analytics-hub-button-card:hover, .analytics-hub-button-card:focus-visible{transform: translateY(-2px);
    box-shadow: 0 22px 46px rgba(15,23,42,.11);
    border-color: rgba(124,92,255,.38);}

.analytics-hub-button-icon{display: grid;
    place-items: center;
    width: 3rem;
    height: 3rem;
    border-radius: 1rem;
    background: rgba(124,92,255,.14);
    font-size: 1.5rem;}

.analytics-hub-button-card strong{font-size: 1.05rem;}

.analytics-hub-button-card em, .analytics-hub-button-card small{color: var(--muted-text, #64748b);
    font-style: normal;}

.analytics-hub-button-card small b{color: var(--text-color, #111827);}

.analytics-chart-view-stack{display: grid;
    gap: 1rem;}

.analytics-view-return{display: flex;
    justify-content: flex-start;}

.analytics-chart-detail-card{padding: clamp(1rem, 2vw, 1.35rem);}

.analytics-chart-stat-stack{display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .55rem;
    min-width: min(100%, 26rem);}

.analytics-chart-stat-stack span{display: grid;
    gap: .1rem;
    padding: .75rem .85rem;
    border-radius: 1rem;
    background: rgba(124,92,255,.09);
    border: 1px solid rgba(124,92,255,.16);}

.analytics-chart-stat-stack strong{font-size: 1.05rem;}

.analytics-chart-stat-stack em{color: var(--muted-text, #64748b);
    font-style: normal;
    font-size: .78rem;}

.analytics-chart-specific-settings{display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .75rem;
    align-items: end;
    margin: .75rem 0 1rem;
    padding: .85rem;
    border-radius: 1.1rem;
    border: 1px solid rgba(148,163,184,.2);
    background: rgba(248,250,252,.82);}

.analytics-chart-specific-settings label{display: grid;
    gap: .28rem;
    font-weight: 800;
    font-size: .82rem;
    color: var(--muted-text, #64748b);}

.analytics-chart-specific-settings select{width: 100%;
    border-radius: .85rem;
    border: 1px solid rgba(148,163,184,.35);
    background: rgba(255,255,255,.94);
    padding: .62rem .75rem;
    color: var(--text-color, #111827);}

.analytics-checkbox-setting{display: flex !important;
    flex-direction: row;
    gap: .55rem !important;
    align-items: center;
    min-height: 2.55rem;
    padding: .62rem .75rem;
    border-radius: .85rem;
    background: rgba(255,255,255,.78);
    border: 1px solid rgba(148,163,184,.2);}

.analytics-checkbox-setting input{width: 1.05rem;
    height: 1.05rem;}

.analytics-canvas-wrap-large{min-height: 360px;}

.analytics-chart-data-panel{display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;}

.analytics-detail-pill-row{display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    margin-top: .75rem;}

.analytics-detail-pill-row span{display: inline-flex;
    align-items: center;
    padding: .45rem .65rem;
    border-radius: 999px;
    background: rgba(124,92,255,.1);
    border: 1px solid rgba(124,92,255,.18);
    font-weight: 800;
    font-size: .82rem;}

@media (max-width: 980px){
.analytics-chart-specific-settings, .analytics-chart-stat-stack{grid-template-columns: 1fr 1fr;}
}


@media (max-width: 620px){
.analytics-chart-specific-settings, .analytics-chart-stat-stack, .analytics-hub-button-grid{grid-template-columns: 1fr;}

.analytics-center-shell.is-hub-view .analytics-filter-bar{position: static;}
}


.analytics-chart-specific-settings{display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:.85rem;
  align-items:end;
  border:1px solid rgba(255,255,255,.12);
  border-radius:1rem;
  padding:1rem;
  background:rgba(255,255,255,.045);
  margin:1rem 0;}

.analytics-chart-specific-settings label{display:grid;gap:.3rem;font-weight:800;}

.analytics-chart-specific-settings small{font-weight:500;opacity:.75;line-height:1.3;}

.analytics-chart-specific-settings .button{align-self:end;}

.analytics-summary-card.analytics-summary-link{color: inherit;
    text-decoration: none;
    cursor: pointer;
    transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;}

.analytics-summary-card.analytics-summary-link:hover, .analytics-summary-card.analytics-summary-link:focus-visible{transform: translateY(-2px);
    box-shadow: 0 18px 42px rgba(15, 23, 42, .12);
    border-color: rgba(124, 92, 255, .36);
    outline: none;}

.analytics-summary-arrow{margin-left: auto;
    align-self: end;
    font-size: .76rem;
    color: var(--muted-text, #64748b);
    white-space: nowrap;}

.analytics-admin-grid-expanded{grid-template-columns: repeat(3, minmax(0, 1fr));}

.analytics-chart-specific-settings label small{max-width: 28rem;}

@media (max-width: 1050px){
.analytics-admin-grid-expanded{grid-template-columns: repeat(2, minmax(0, 1fr));}
}


@media (max-width: 720px){
.analytics-summary-arrow{width: 100%;
        margin-left: 0;}

.analytics-admin-grid-expanded{grid-template-columns: 1fr;}
}


.analytics-center-shell.is-loading{opacity: .72;
    pointer-events: none;
    position: relative;}

.analytics-center-shell.is-loading::after{content: "Updating analytics…";
    position: fixed;
    right: 1rem;
    bottom: 1rem;
    z-index: 50;
    padding: .7rem .95rem;
    border-radius: 999px;
    background: rgba(15, 23, 42, .92);
    color: #fff;
    font-weight: 800;
    box-shadow: 0 18px 44px rgba(15,23,42,.24);}

.analytics-auto-note{display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.35rem;
    margin: 0;
    padding: .52rem .7rem;
    border-radius: .9rem;
    border: 1px dashed rgba(124,92,255,.32);
    color: var(--muted-text, #64748b);
    background: rgba(124,92,255,.08);
    font-size: .82rem;
    font-weight: 800;}

.analytics-summary-card.analytics-summary-link, .analytics-summary-card[href]{color: inherit;
    text-decoration: none;
    cursor: pointer;
    transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;}

.analytics-summary-card.analytics-summary-link:hover, .analytics-summary-card.analytics-summary-link:focus-visible{transform: translateY(-2px);
    box-shadow: 0 18px 42px rgba(15,23,42,.1);
    border-color: rgba(124,92,255,.34);}

.analytics-summary-arrow{margin-left: auto;
    color: rgba(124,92,255,.9);
    font-size: .8rem;
    white-space: nowrap;}

.analytics-chart-specific-settings .analytics-auto-note, .analytics-filter-bar .analytics-auto-note{align-self: stretch;}

@media (max-width: 900px){
.analytics-filter-bar, .analytics-chart-specific-settings{grid-template-columns: 1fr;}
}


.analytics-auto-note{display: none !important;}

.analytics-canvas-wrap{min-height: 300px;}

.analytics-canvas-wrap canvas{min-height: 260px;}

.analytics-center-shell.is-hub-view .analytics-filter-bar{display: none !important;}

.analytics-center-shell.is-chart-view .analytics-filter-bar{display: grid !important;}

.server-stat-chart-grid .analytics-chart-card{min-width: 0;}

.server-stat-analytics-card .analytics-chart-head{gap: .75rem;}.analytics-chart-card, .analytics-chart-detail-card, .analytics-center-shell{min-width: 0;}

.analytics-canvas-wrap.analytics-canvas-scroll-wrap{width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scrollbar-width: auto;
    padding-bottom: .7rem;}

.analytics-canvas-wrap.analytics-canvas-scroll-wrap canvas.analytics-zoom-canvas{max-width: none !important;
    width: auto;}

.analytics-zoom-controls{margin-top: .35rem;
    padding-inline: .15rem;}

.analytics-zoom-controls input[type="range"]{max-width: 100%;}

.analytics-zoom-hint{color: var(--muted-text, #64748b);}


/* REV47 semantic theme compatibility */
html[data-theme] .analytics-center-shell{color:var(--ink);--muted-text:var(--muted);--text-color:var(--ink);}
html[data-theme] .analytics-hero,html[data-theme] .analytics-filter-bar,html[data-theme] .analytics-chart-card,html[data-theme] .analytics-list-card,html[data-theme] .analytics-summary-card,html[data-theme] .analytics-hub-panel,html[data-theme] .analytics-hub-button-card,html[data-theme] .analytics-chart-specific-settings,html[data-theme] .analytics-checkbox-setting{background:var(--theme-surface)!important;border-color:var(--theme-line)!important;color:var(--ink)!important;}
html[data-theme] .analytics-filter-bar,html[data-theme] .analytics-chart-specific-settings,html[data-theme] .analytics-checkbox-setting,html[data-theme] .analytics-list-card li,html[data-theme] .analytics-chart-stat-stack span,html[data-theme] .analytics-detail-pill-row span{background:var(--theme-surface-muted)!important;border-color:var(--theme-line)!important;color:var(--ink)!important;}
html[data-theme] .analytics-canvas-wrap{background:linear-gradient(180deg,var(--theme-surface-muted),var(--theme-surface))!important;border-color:var(--theme-line)!important;}
html[data-theme] .analytics-summary-card small,html[data-theme] .analytics-summary-card em,html[data-theme] .analytics-hub-button-card em,html[data-theme] .analytics-hub-button-card small,html[data-theme] .analytics-chart-head p,html[data-theme] .analytics-list-card li span,html[data-theme] .analytics-list-card li em,html[data-theme] .analytics-health-pill em,html[data-theme] .analytics-chart-stat-stack em,html[data-theme] .analytics-chart-specific-settings label,html[data-theme] .analytics-filter-bar label,html[data-theme] .analytics-display-select{color:var(--muted)!important;}
html[data-theme] .analytics-hub-button-card small b,html[data-theme] .analytics-summary-card strong,html[data-theme] .analytics-chart-head h3{color:var(--ink)!important;}
html[data-theme] .analytics-summary-icon,html[data-theme] .analytics-hub-button-icon,html[data-theme] .analytics-auto-note{background:var(--theme-soft-brand)!important;border-color:var(--theme-line)!important;color:var(--ink)!important;}
html[data-theme] .analytics-health-pill{color:var(--ink)!important;}

/* Shared chart scenes: the same SVG layout powers website, Discord and exports. */
.analytics-canvas-wrap.analytics-scene-wrap {
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding: 0;
    border-radius: 18px;
    overscroll-behavior-inline: contain;
    scrollbar-color: var(--brand, #5865f2) var(--panel-strong, #171c2c);
}
.analytics-chart-stage { min-width: 720px; width: 100%; }
.analytics-chart-stage > svg { display: block; width: 100%; height: auto; max-width: none; }
.analytics-chart-toolbar { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 1rem; margin-top: 1rem; }
.analytics-chart-zoom { display: flex; align-items: center; gap: .65rem; flex: 1 1 270px; max-width: 460px; font-size: .88rem; color: var(--ink, #f8fafc); }
.analytics-chart-zoom input { width: auto; min-width: 80px; flex: 1; accent-color: var(--brand, #5865f2); }
.analytics-chart-zoom output { min-width: 3.25rem; text-align: right; font-variant-numeric: tabular-nums; }
.analytics-chart-downloads { display: flex; flex-wrap: wrap; gap: .5rem; }
.analytics-chart-downloads .button { margin: 0; }
.analytics-chart-table { margin-top: 1rem; border-top: 1px solid var(--theme-line, #8b8f9955); padding-top: .85rem; }
.analytics-chart-table summary { color: var(--ink, #f8fafc); cursor: pointer; font-weight: 700; width: fit-content; }
.analytics-chart-table-scroll { max-height: 420px; overflow: auto; margin-top: .8rem; border-radius: 12px; }
.analytics-chart-table table { width: 100%; border-collapse: collapse; background: var(--panel-strong, #171c2c); color: var(--ink, #f8fafc); }
.analytics-chart-table caption { text-align: left; color: var(--muted, #a5b4fc); padding: .6rem .8rem; }
.analytics-chart-table :is(th, td) { padding: .6rem .8rem; text-align: right; border-bottom: 1px solid var(--theme-line, #8b8f9955); font-variant-numeric: tabular-nums; white-space: nowrap; }
.analytics-chart-table tr > :first-child { text-align: left; }
.analytics-chart-table thead th { position: sticky; top: 0; background: var(--panel-strong, #171c2c); }
.analytics-chart-table :is(summary, [tabindex]):focus-visible, .analytics-scene-wrap:focus-visible { outline: 3px solid var(--brand, #5865f2); outline-offset: 3px; }
@media (max-width: 680px) {
    .analytics-chart-toolbar { align-items: stretch; gap: .75rem; }
    .analytics-chart-zoom { flex-basis: 100%; max-width: none; }
    .analytics-chart-downloads { width: 100%; }
    .analytics-chart-downloads .button { flex: 1; }
    .analytics-canvas-wrap.analytics-scene-wrap::after { content: 'Scroll sideways to explore the chart'; display: block; position: sticky; left: 0; width: calc(100vw - 5rem); padding: .65rem; color: var(--muted, #a5b4fc); font-size: .78rem; }
}
.analytics-center-shell.is-chart-view .analytics-filter-bar { grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); }
