/* Shared operational surfaces. No additional fonts, frameworks or animation libraries. */
.fi-body.fi-panel-admin { --ff-admin-radius: .75rem; --ff-admin-radius-sm: .5rem; --ff-admin-shadow: none; --ff-admin-line: #e1e6ed; --ff-admin-muted: #596579; background: #f6f7f9 !important; font-variant-numeric: tabular-nums; }
.fi-body.fi-panel-admin .fi-layout, .fi-body.fi-panel-admin .fi-main, .fi-body.fi-panel-admin .fi-main-ctn { background: transparent !important; }
.fi-body.fi-panel-admin .fi-header-heading { font-weight: 700 !important; letter-spacing: -.02em !important; }
.fi-body.fi-panel-admin .fi-sidebar-item-btn, .fi-body.fi-panel-admin .fi-btn, .fi-body.fi-panel-admin .fi-tabs-item { font-weight: 600 !important; }
.fi-body.fi-panel-admin .fi-section-header-heading, .fi-body.fi-panel-admin .fi-ta-header-heading { font-weight: 650 !important; }
.fi-body.fi-panel-admin .fi-section, .fi-body.fi-panel-admin .fi-ta, .fi-body.fi-panel-admin .fi-wi-stats-overview-stat { box-shadow: none !important; }
.fi-body.fi-panel-admin .fi-wi-stats-overview-stat:hover { transform: none !important; }
.fi-body.fi-panel-admin a, .fi-body.fi-panel-admin button { text-underline-offset: .2em; }
.fi-body.fi-panel-admin :focus-visible { outline: 2px solid #2563eb; outline-offset: 3px; }
.fi-body.fi-panel-admin ::selection { background: #dbeafe; color: #172554; }
.fi-body.fi-panel-admin input { caret-color: #2563eb; }
.fi-body.fi-panel-admin .fi-global-search-ctn { min-width: 12rem; width: min(28vw, 25rem); margin-right: auto; }
.fi-body.fi-panel-admin .fi-global-search, .fi-body.fi-panel-admin .fi-global-search-field { width: 100%; }
.fi-body.fi-panel-admin .fi-global-search-results-ctn { max-height: min(70dvh, 36rem); overflow-y: auto; }
.fi-body.fi-panel-admin .fi-global-search-result-heading { font-weight: 650; }
.ff-dashboard-filters { max-width: 42rem; }
.ff-overview { min-width: 0; }
.ff-overview-period { color: #596579; font-size: .8125rem; font-weight: 600; margin-bottom: .625rem; }
.ff-overview-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); background: #fff; border: 1px solid #e1e6ed; border-radius: .75rem; }
.ff-overview-metric { display: flex; min-width: 0; flex-direction: column; gap: .65rem; padding: 1.2rem; color: #172033; text-decoration: none; border-right: 1px solid #e1e6ed; }
.ff-overview-metric:last-child { border-right: 0; }
.ff-overview-metric:hover { background: #f8fafc; }
.ff-overview-label { display: flex; align-items: center; gap: .5rem; color: #475569; font-size: .8125rem; font-weight: 600; }
.ff-overview-label svg { height: 1rem; width: 1rem; flex: 0 0 auto; }
.ff-overview-label .ff-metric-arrow { margin-left: auto; color: #64748b; }
.ff-overview-metric > strong { font-size: 1.65rem; line-height: 1.15; font-weight: 700; letter-spacing: -.025em; }
.ff-overview-detail { color: #596579; font-size: .75rem; line-height: 1.5; }
.ff-overview-status { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 1rem; gap: 1rem; }
.ff-overview-status a { display: flex; min-width: 0; flex-direction: column; gap: .2rem; padding: .35rem 0; text-decoration: none; }
.ff-overview-status span, .ff-overview-status small { color: #596579; font-size: .75rem; line-height: 1.5; }
.ff-overview-status strong { color: #172033; font-size: .875rem; font-weight: 650; }
.ff-overview-status a:hover strong { color: #1d4ed8; text-decoration: underline; }
.fi-body.fi-panel-admin .ff-dashboard-chart .fi-wi-chart-canvas-ctn { min-height: 15rem; height: 16rem; max-height: 17rem; }
.ff-chart-data { margin-top: .75rem; font-size: .75rem; color: #475569; }
.ff-chart-data summary { cursor: pointer; padding: .4rem 0; width: fit-content; }
.ff-chart-data-scroll { max-width: 100%; overflow-x: auto; max-height: 18rem; margin-top: .5rem; }
.ff-chart-data table { width: 100%; border-collapse: collapse; white-space: nowrap; }
.ff-chart-data th, .ff-chart-data td { padding: .5rem .625rem; border-bottom: 1px solid #e1e6ed; text-align: right; }
.ff-chart-data th:first-child { text-align: left; }
.ff-chart-data th { font-weight: 600; }
@media (max-width: 1100px) { .ff-overview-metrics, .ff-overview-status { grid-template-columns: repeat(2, minmax(0, 1fr)); } .ff-overview-metric:nth-child(2) { border-right: 0; } .ff-overview-metric:nth-child(-n+2) { border-bottom: 1px solid #e1e6ed; } }
@media (max-width: 767px) {
    .fi-body.fi-panel-admin .fi-topbar { position: relative; height: auto !important; min-height: 7rem; padding-bottom: 3.5rem; }
    .fi-body.fi-panel-admin .fi-topbar-end { position: static; }
    .fi-body.fi-panel-admin .fi-global-search-ctn { position: absolute; inset-inline: .75rem; bottom: .5rem; width: auto; min-width: 0; }
    .fi-body.fi-panel-admin .fi-global-search-results-ctn { position: fixed; inset-inline: .75rem; top: 7.5rem; width: auto; max-width: none; max-height: 65dvh; }
    .ff-overview-metric { padding: 1rem .75rem; }
    .ff-overview-metric > strong { font-size: 1.3rem; }
    .ff-overview-label { font-size: .75rem; }
    .ff-overview-label .ff-metric-arrow { display: none; }
    .ff-overview-status { gap: .75rem; }
}
@media (prefers-reduced-motion: reduce) { .fi-body.fi-panel-admin *, .fi-body.fi-panel-admin *::before, .fi-body.fi-panel-admin *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; } }

.fi-body.fi-panel-admin .fi-topbar-ctn:has(.fi-global-search:focus-within) { z-index: 18000 !important; }

.ff-mobile-sidebar-close { display: none; }
@media (max-width: 1023px) {
    .fi-body.fi-panel-admin .ff-mobile-sidebar-close { display: inline-flex; flex-shrink: 0; margin-inline-start: auto; min-width: 2.75rem; min-height: 2.75rem; }
    .fi-body.fi-panel-admin .fi-topbar-close-sidebar-btn { visibility: hidden !important; }
}
