:root { color: #111827; background: #f5f7fb; font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
* { box-sizing: border-box; }
body { margin: 0; }
button, input { font: inherit; }
.admin-shell { width: min(1440px, 100%); margin: 0 auto; padding: 32px; }
header { display: flex; align-items: flex-end; justify-content: space-between; margin-bottom: 28px; }
header p { margin: 0 0 8px; color: #0a55ff; font-size: 12px; font-weight: 800; letter-spacing: .12em; }
h1, h2, h3 { margin: 0; }
h1 { font-size: 32px; }
header a { color: #0a55ff; text-decoration: none; }
.header-actions { display: flex; align-items: center; gap: 18px; }
.language-switch { display: flex; padding: 3px; border: 1px solid #dbe3ef; border-radius: 9px; background: white; }
.language-switch button { min-height: 28px; padding: 0 10px; border-radius: 6px; color: #64748b; background: transparent; font-size: 12px; }
.language-switch button[aria-pressed="true"] { color: white; background: #0a55ff; }
.query-panel { border: 1px solid #e2e8f0; border-radius: 16px; background: white; }
.toolbar { display: grid; grid-template-columns: 220px 220px auto auto; gap: 12px; padding: 18px; }
.mobile-filter-toggle { display: none; }
label { display: grid; gap: 6px; color: #64748b; font-size: 12px; font-weight: 700; }
input { min-height: 42px; padding: 0 12px; border: 1px solid #cbd5e1; border-radius: 9px; color: #111827; background: white; }
button { align-self: end; min-height: 42px; padding: 0 22px; border: 0; border-radius: 9px; color: white; background: #0a55ff; font-weight: 750; cursor: pointer; }
button:disabled { opacity: .5; cursor: not-allowed; }
.error { padding: 12px; border-radius: 10px; color: #991b1b; background: #fef2f2; }
.dashboard-section { margin-top: 18px; padding: 20px; border: 1px solid #e2e8f0; border-radius: 16px; background: white; }
.section-heading { display: flex; align-items: flex-end; justify-content: space-between; margin-bottom: 16px; }
.section-heading p { margin: 0 0 4px; color: #0a55ff; font-size: 10px; font-weight: 800; letter-spacing: .12em; }
.section-heading h2 { font-size: 20px; }
.section-heading > span { color: #94a3b8; font-size: 12px; }
.metrics { display: grid; gap: 12px; }
.metrics--funnel { grid-template-columns: repeat(4, 1fr); }
.metrics--interaction { grid-template-columns: repeat(3, 1fr); }
.metrics article { min-width: 0; padding: 18px; border: 1px solid #e2e8f0; border-radius: 14px; background: #f8fafc; }
.metrics article.metric--accent { border-color: #bdd0ff; background: #eff4ff; }
.metrics span { display: block; color: #64748b; font-size: 12px; }
.metrics strong { display: block; margin-top: 10px; font-size: 30px; }
.metrics small { display: block; margin-top: 6px; color: #94a3b8; font-size: 11px; }
.metric-label { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; }
.metric-help { position: relative; display: inline-flex; flex: 0 0 auto; }
.metric-help > button { display: grid; width: 20px; min-height: 20px; padding: 0; place-items: center; border: 1px solid #cbd5e1; border-radius: 50%; color: #64748b; background: white; font-size: 12px; line-height: 1; }
.metric-help > button:hover, .metric-help > button:focus-visible { border-color: #0a55ff; outline: none; color: #0a55ff; }
.metric-help__tooltip { position: absolute; z-index: 20; top: calc(100% + 8px); right: 0; visibility: hidden; width: 260px; padding: 10px 12px; border-radius: 9px; color: white !important; background: #172033; box-shadow: 0 10px 30px rgba(15, 23, 42, .2); font-size: 12px !important; font-weight: 500; line-height: 1.5; opacity: 0; pointer-events: none; text-align: left; text-transform: none; transform: translateY(-4px); transition: opacity .15s ease, transform .15s ease, visibility .15s; }
.metric-help__tooltip::before { position: absolute; right: 7px; bottom: 100%; border: 5px solid transparent; border-bottom-color: #172033; content: ""; }
.metric-help:hover .metric-help__tooltip, .metric-help:focus-within .metric-help__tooltip, .metric-help--open .metric-help__tooltip { visibility: visible; opacity: 1; transform: translateY(0); }
.metric-details { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(360px, 1fr); gap: 18px; }
.metric-table { margin-top: 0; overflow: visible; }
.metric-table th:not(:first-child), .metric-table td:not(:first-child) { text-align: right; }
.metric-label--table { align-items: center; justify-content: flex-end; }
.metric-table td strong { color: #0a55ff; font-size: 16px; }
.mobile-cell-label { display: none; }
.workspace { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(340px, 1fr); gap: 18px; margin-top: 18px; }
.sessions, .detail { min-width: 0; padding: 20px; border: 1px solid #e2e8f0; border-radius: 16px; background: white; }
.session-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.session-controls { display: flex; align-items: center; gap: 14px; flex: 1; min-width: 0; justify-content: flex-end; flex-wrap: wrap; }
.session-search { display: flex; width: min(320px, 100%); align-items: center; gap: 8px; }
.session-search label { min-width: 0; flex: 1; }
.session-search input { width: 100%; }
.session-search button { min-height: 38px; padding: 0 14px; white-space: nowrap; }
.session-search-clear { width: 38px; padding: 0 !important; color: #64748b; background: #f1f5f9; font-size: 22px; }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.table-wrap { margin-top: 16px; overflow-x: auto; }
table { width: 100%; border-collapse: collapse; font-size: 13px; }
th, td { padding: 12px 10px; border-bottom: 1px solid #eef2f7; text-align: left; }
th { color: #64748b; font-size: 11px; text-transform: uppercase; }
.sessions tbody tr { cursor: pointer; }
.sessions tbody tr:hover, .sessions tbody tr:focus { outline: none; background: #f8faff; }
.load-more { display: block; margin: 16px auto 0; padding: 9px 18px; border: 1px solid #b8cbff; border-radius: 9px; background: #fff; color: #0a55ff; font-weight: 700; cursor: pointer; }
.load-more:disabled { cursor: wait; opacity: .6; }
.status { padding: 3px 8px; border-radius: 999px; color: #155eef; background: #eff4ff; }
.detail dl { display: grid; grid-template-columns: 100px 1fr; gap: 9px; font-size: 13px; }
.detail dt { color: #64748b; }.detail dd { margin: 0; overflow-wrap: anywhere; }
.detail h3 { margin-top: 24px; font-size: 15px; }
.detail-heading { display: flex; align-items: center; justify-content: space-between; }
.detail-heading-actions { display: flex; align-items: center; gap: 8px; }
.session-download { min-height: 38px; padding: 0 14px; border: 1px solid #b8cbff; color: #0a55ff; background: white; font-size: 12px; }
.detail-close { display: none; }
.detail ol { margin: 12px 0 0; padding: 0; list-style: none; }
.detail li { padding: 12px 0; border-top: 1px solid #eef2f7; }
.detail li span { font-weight: 750; }.detail time { float: right; color: #94a3b8; font-size: 11px; }
pre { max-height: 180px; overflow: auto; white-space: pre-wrap; color: #475569; font-size: 11px; }
.empty { padding: 26px 10px; color: #94a3b8; text-align: center; }
@media (max-width: 900px) { .admin-shell { padding: 18px; } .toolbar, .metric-details, .workspace { grid-template-columns: 1fr; } .metrics { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 520px) {
  .admin-shell { padding: 14px; }
  header { align-items: flex-start; margin-bottom: 16px; }
  header p { margin-bottom: 4px; font-size: 10px; }
  h1 { font-size: 23px; line-height: 1.18; }
  .header-actions { align-items: flex-end; flex-direction: column; gap: 8px; }
  .header-actions a { font-size: 12px; }
  .language-switch button { min-height: 30px; padding: 0 9px; }
  .mobile-filter-toggle { display: flex; width: 100%; min-height: 62px; padding: 12px 14px; align-items: center; justify-content: space-between; color: #111827; background: white; text-align: left; }
  .mobile-filter-toggle > span:first-child { display: grid; gap: 3px; }
  .mobile-filter-toggle strong { font-size: 14px; }
  .mobile-filter-toggle small { color: #94a3b8; font-size: 10px; font-weight: 500; }
  .mobile-filter-toggle > span:last-child { color: #0a55ff; font-size: 22px; font-weight: 400; }
  .toolbar { display: none; padding: 0 14px 14px; }
  .toolbar.toolbar--open { display: grid; }
  .toolbar button { width: 100%; }
  .dashboard-section { margin-top: 14px; padding: 14px; border-radius: 14px; }
  .section-heading { align-items: flex-start; margin-bottom: 12px; }
  .section-heading h2 { font-size: 18px; }
  .section-heading > span { max-width: 110px; font-size: 10px; text-align: right; }
  .metrics { gap: 8px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .metrics article { min-height: 126px; padding: 12px; border-radius: 12px; }
  .metrics span { font-size: 11px; line-height: 1.35; }
  .metrics strong { margin-top: 8px; font-size: 26px; }
  .metrics small { font-size: 10px; line-height: 1.35; }
  .metric-help > button { width: 18px; min-height: 18px; font-size: 11px; }
  .metric-help__tooltip { position: fixed; z-index: 50; top: auto; right: 12px; bottom: 12px; left: 12px; width: auto; padding: 14px 16px; font-size: 13px !important; transform: translateY(8px); }
  .metric-help__tooltip::before { display: none; }
  .metric-details { gap: 0; }
  .metric-table { overflow: visible; }
  .metric-table thead { display: none; }
  .metric-table table, .metric-table tbody { display: block; }
  .metric-table tr { display: grid; padding: 12px 0; grid-template-columns: 1fr 1fr; gap: 10px 16px; border-bottom: 1px solid #eef2f7; }
  .metric-table td { display: flex; padding: 0; align-items: baseline; justify-content: space-between; border: 0; text-align: left !important; }
  .metric-table td.cta-type { display: block; grid-column: 1 / -1; font-weight: 750; }
  .mobile-cell-label { display: inline; color: #94a3b8; font-size: 10px; font-weight: 600; text-transform: uppercase; }
  .workspace { display: block; margin-top: 14px; }
  .sessions { padding: 14px; }
  .session-heading { display: grid; align-items: stretch; }
  .session-controls { justify-content: stretch; }
  .session-search { width: 100%; }
  .session-search button { padding: 0 10px; font-size: 11px; }
  .sessions .table-wrap, .sessions table, .sessions tbody { display: block; overflow: visible; }
  .sessions thead { display: none; }
  .sessions tbody tr { display: grid; margin-top: 10px; padding: 13px; grid-template-columns: 1fr 1fr; gap: 10px 14px; border: 1px solid #e2e8f0; border-radius: 12px; background: #f8fafc; }
  .sessions tbody tr:focus { outline: 2px solid #0a55ff; outline-offset: 2px; }
  .sessions tbody td { display: flex; min-width: 0; padding: 0; align-items: baseline; justify-content: space-between; gap: 8px; border: 0; font-size: 11px; text-align: right; }
  .sessions tbody td.session-id, .sessions tbody td:last-child { grid-column: 1 / -1; }
  .sessions tbody td.session-id strong { overflow: hidden; color: #0a55ff; text-overflow: ellipsis; white-space: nowrap; }
  .sessions tbody tr.empty-row { display: block; border: 0; background: transparent; }
  .detail { display: none; }
  .detail.detail--open { position: fixed; z-index: 40; inset: 0; display: block; overflow-y: auto; padding: 18px; border: 0; border-radius: 0; }
  .detail-heading { position: sticky; z-index: 1; top: -18px; margin: -18px -18px 16px; padding: 18px; border-bottom: 1px solid #e2e8f0; background: white; }
  .detail-close { display: grid; width: 40px; min-height: 40px; padding: 0; place-items: center; border-radius: 50%; color: #334155; background: #f1f5f9; font-size: 26px; font-weight: 400; }
}

/* 用户看板仅属于 standalone 管理页，不进入官网组件样式产物。 */
.user-search { display: flex; gap: 12px; align-items: end; margin-bottom: 18px; }
.user-search label { display: grid; gap: 6px; flex: 1; font-size: 13px; }
.user-search input { width: 100%; box-sizing: border-box; }
.users-table td { overflow-wrap: anywhere; }
.user-link { padding: 4px 0; color: #0a55ff; background: transparent; text-align: left; overflow-wrap: anywhere; }
.user-link:focus-visible { outline: 2px solid #0a55ff; outline-offset: 3px; }
.user-selected { background: #eff6ff; }
.user-details { margin-top: 22px; padding-top: 16px; border-top: 1px solid #e2e8f0; overflow-wrap: anywhere; }
.account-links, .user-session-list { display: grid; padding: 0; gap: 10px; list-style: none; }
.account-links li, .user-session-list li { display: flex; flex-wrap: wrap; gap: 10px 20px; padding: 12px; background: #f8fafc; border-radius: 8px; align-items: center; font-size: 13px; }
@media (max-width: 600px) {
  .user-search { display: grid; align-items: stretch; }
  .users-table { overflow: visible; }
  .users-table table, .users-table tbody { display: block; }
  .users-table thead { display: none; }
  .users-table tr { display: grid; padding: 12px; margin-bottom: 10px; gap: 8px; border: 1px solid #e2e8f0; border-radius: 10px; }
  .users-table td { display: flex; justify-content: space-between; gap: 10px; padding: 0; border: 0; min-width: 0; font-size: 12px; }
  .users-table .mobile-cell-label { flex-shrink: 0; }
  .account-links li, .user-session-list li { display: grid; gap: 6px; }
}

/* 三个看板仅在 standalone 管理页通过可访问 Tab 切换。 */
.current-tenant { margin: -10px 0 18px; color: #64748b; font-size: 13px; overflow-wrap: anywhere; }
.current-tenant strong { color: #111827; }
.admin-tabs { display: flex; gap: 6px; margin-bottom: 18px; padding: 5px; border: 1px solid #dbe3ef; border-radius: 12px; background: white; }
.admin-tabs button { flex: 1; color: #64748b; background: transparent; }
.admin-tabs button[aria-selected="true"] { color: white; background: #0a55ff; }
.admin-tabs button:focus-visible { outline: 2px solid #0a55ff; outline-offset: 2px; }
.admin-user { color: #37465e; font-size: 13px; font-weight: 600; }
.auth-banner { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin: 0 0 16px; }
.auth-banner a { color: #0a55ff; font-weight: 700; }
.tenant-search { display: flex; gap: 12px; align-items: end; }
.tenant-search label:first-child { flex: 1; }
select { min-height: 42px; padding: 0 12px; border: 1px solid #cbd5e1; border-radius: 9px; color: #111827; background: white; font: inherit; }
.tenants-table td { overflow-wrap: anywhere; }
.tenant-actions { white-space: nowrap; }
.tenant-actions button { display: block; }
@media (max-width: 600px) {
  .tenant-search { display: grid; }
  .tenants-table { overflow: visible; }
  .tenants-table table, .tenants-table tbody { display: block; }
  .tenants-table thead { display: none; }
  .tenants-table tr { display: grid; padding: 12px; margin-bottom: 10px; gap: 8px; border: 1px solid #e2e8f0; border-radius: 10px; }
  .tenants-table td { display: flex; justify-content: space-between; gap: 10px; padding: 0; border: 0; font-size: 12px; }
  .tenants-table .mobile-cell-label { flex-shrink: 0; }
  .tenant-actions { border-top: 1px solid #e2e8f0 !important; padding-top: 6px !important; white-space: normal; }
  .current-tenant { margin-top: -6px; }
}

/* 独立管理页统一导航、查询与数据区的视觉层级。 */
.admin-shell { padding: 36px 40px 48px; }
.admin-shell header { align-items: center; margin-bottom: 20px; padding-bottom: 24px; border-bottom: 1px solid #e1e7f0; }
.admin-shell h1 { font-size: 30px; letter-spacing: -.035em; line-height: 1.3; }
.admin-shell h2 { font-size: 19px; font-weight: 700; letter-spacing: -.02em; }
.admin-shell .header-actions a { padding: 10px 14px; border: 1px solid #e1e7f0; border-radius: 8px; color: #41516a; background: white; font-size: 13px; }
.admin-shell .current-tenant { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 24px; font-size: 12px; }
.admin-shell .current-tenant strong { padding: 5px 10px; border: 1px solid #dbe5f7; border-radius: 6px; color: #244577; background: #edf3ff; font-weight: 600; }
.admin-shell .admin-tabs { justify-content: flex-start; gap: 28px; margin-bottom: 20px; padding: 0; border: 0; border-bottom: 1px solid #dce3ee; border-radius: 0; background: transparent; }
.admin-shell .admin-tabs button { position: relative; flex: 0 1 auto; min-height: 48px; padding: 0 8px 12px; border-radius: 0; font-size: 14px; background: transparent; }
.admin-shell .admin-tabs button[aria-selected="true"] { color: #0a55ff; background: transparent; }
.admin-shell .admin-tabs button[aria-selected="true"]::after { position: absolute; right: 0; bottom: -1px; left: 0; height: 3px; border-radius: 3px 3px 0 0; background: #0a55ff; content: ""; }
.admin-shell .query-panel { border-color: #e1e7f0; border-radius: 12px; background: #f0f3f9; }
.admin-shell .toolbar { grid-template-columns: minmax(200px, 1fr) minmax(200px, 240px) auto auto; gap: 16px; padding: 20px; }
.admin-shell .admin-user { color: #1f2c44; }
.admin-shell label { min-width: 0; gap: 8px; color: #52627a; font-weight: 600; }
.admin-shell input, .admin-shell select { min-width: 0; width: 100%; border-color: #d4deeb; border-radius: 8px; font-weight: 400; }
.admin-shell input::placeholder { color: #8794a8; }
.admin-shell input:focus, .admin-shell select:focus { border-color: #5285ff; outline: none; box-shadow: 0 0 0 3px #0a55ff14; }
.admin-shell button { border-radius: 8px; font-weight: 600; }
.admin-shell button:focus-visible, .admin-shell a:focus-visible { outline: 2px solid #0a55ff; outline-offset: 3px; }
.admin-shell .toolbar > button:not(:disabled):hover, .admin-shell form > button:not(:disabled):hover { background: #0043dc; }
.admin-shell .dashboard-section, .admin-shell .sessions, .admin-shell .detail { padding: 24px; border-color: #e1e7f0; border-radius: 12px; box-shadow: 0 3px 12px #253b5c04; }
.admin-shell .dashboard-section, .admin-shell .workspace { margin-top: 24px; }
.admin-shell .workspace { grid-template-columns: minmax(0, 1.65fr) minmax(340px, 1fr); gap: 20px; align-items: start; }
.admin-shell .sessions, .admin-shell .detail { min-height: 330px; }
.admin-shell .section-heading { gap: 16px; margin-bottom: 22px; }
.admin-shell .users-panel .section-heading p, .admin-shell .tenants-panel .section-heading p { margin: 8px 0 0; color: #64748b; font-size: 12px; font-weight: 400; letter-spacing: 0; line-height: 1.6; }
.admin-shell .table-wrap { border: 1px solid #e8edf4; border-radius: 8px; }
.admin-shell th { padding: 13px 14px; background: #f7f9fc; font-size: 10px; font-weight: 600; letter-spacing: .045em; white-space: nowrap; }
.admin-shell td { padding: 15px 14px; color: #37465e; line-height: 1.5; }
.admin-shell tbody tr:last-child td { border-bottom: 0; }
.admin-shell .session-id strong { font-size: 12px; font-weight: 600; overflow-wrap: anywhere; }
.admin-shell .status { display: inline-block; font-size: 11px; white-space: nowrap; }
.admin-shell .empty { padding: 52px 16px; color: #7b8ba2; font-size: 13px; line-height: 1.7; }
.admin-shell .detail > .empty { display: grid; min-height: 215px; margin: 0; place-content: center; }
.admin-shell .user-search, .admin-shell .tenant-search { gap: 16px; }
.admin-shell .tenant-search label:nth-child(2) { min-width: 160px; }
.admin-shell .user-link { border-radius: 4px; font-weight: 500; }
.admin-shell .tenant-actions .user-link { min-height: 30px; }
.admin-shell .metrics article { padding: 20px; border-radius: 10px; background: #fafbfd; }
.admin-shell .metrics strong { color: #192b49; font-size: 32px; font-weight: 700; letter-spacing: -.04em; font-variant-numeric: tabular-nums; }
.admin-shell .metrics .metric--accent strong { color: #0a55ff; }
.admin-shell .metrics small { color: #77869c; line-height: 1.5; }
.admin-shell .metric-table { overflow: visible; }
.admin-shell .metric-help > button { border-radius: 50%; }
.admin-shell .detail dl { grid-template-columns: minmax(100px, .4fr) minmax(0, 1fr); gap: 14px; margin-top: 24px; line-height: 1.5; }
.admin-shell .detail pre { padding: 12px; border-radius: 8px; background: #f7f9fc; line-height: 1.6; }
@media (max-width: 1100px) {
  .admin-shell { padding: 28px 24px; }
  .admin-shell .toolbar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .admin-shell .workspace, .admin-shell .metric-details { grid-template-columns: minmax(0, 1fr); }
  .admin-shell .detail { min-height: 240px; }
}
@media (max-width: 600px) {
  .admin-shell { padding: 20px 14px 32px; }
  .admin-shell header { align-items: flex-start; gap: 12px; padding-bottom: 18px; margin-bottom: 16px; }
  .admin-shell h1 { font-size: 23px; }
  .admin-shell .header-actions { flex-direction: column; align-items: flex-end; gap: 10px; }
  .admin-shell .header-actions a { padding: 0; border: 0; background: transparent; font-size: 11px; white-space: nowrap; }
  .admin-shell .current-tenant { margin-bottom: 12px; }
  .admin-shell .admin-tabs { gap: 0; margin-bottom: 16px; }
  .admin-shell .admin-tabs button { flex: 1; min-height: 46px; padding: 0 4px 10px; font-size: 13px; }
  .admin-shell .toolbar { grid-template-columns: minmax(0, 1fr); padding: 16px; }
  .admin-shell .dashboard-section, .admin-shell .sessions, .admin-shell .detail { padding: 16px; }
  .admin-shell .dashboard-section, .admin-shell .workspace { margin-top: 16px; }
  .admin-shell .section-heading { margin-bottom: 18px; }
  .admin-shell .table-wrap { border: 0; border-radius: 0; }
  .admin-shell .users-table td, .admin-shell .tenants-table td { padding: 0; }
  .admin-shell .mobile-cell-label { display: inline; color: #677991; }
  .admin-shell .empty { padding: 36px 8px; }
  .admin-shell .tenant-search label:nth-child(2) { min-width: 0; }
  .admin-shell .metrics article { padding: 12px; }
  .admin-shell .metrics strong { font-size: 27px; }
  .admin-shell .metric-table td { padding: 0; }
}
@media (max-width: 520px) {
  .admin-shell .toolbar { display: none; padding-top: 4px; }
  .admin-shell .toolbar.toolbar--open { display: grid; }
  .admin-shell .mobile-filter-toggle { border-radius: 12px; background: transparent; }
  .admin-shell .sessions { min-height: 260px; }
  .admin-shell .sessions tbody td { padding: 0; }
  .admin-shell .detail.detail--open { padding: 18px; border-radius: 0; }
  .admin-shell .detail-close { border-radius: 50%; }
}

/* 长列表只在数据区域滚动，避免加载更多后撑长整个管理页。 */
.admin-shell .sessions .table-wrap,
.admin-shell .users-table,
.admin-shell .tenants-table { overflow: auto; scrollbar-gutter: stable; overscroll-behavior: contain; }
.admin-shell .users-table, .admin-shell .tenants-table { max-height: 45vh; }
.admin-shell .account-links, .admin-shell .user-session-list { max-height: 320px; overflow: auto; overscroll-behavior: contain; }
.admin-shell .sessions th, .admin-shell .users-table th, .admin-shell .tenants-table th { position: sticky; top: 0; z-index: 1; box-shadow: 0 1px 0 #e1e7f0; }
@media (min-width: 1101px) {
  .admin-shell { height: 100vh; height: 100dvh; min-height: 620px; display: flex; flex-direction: column; padding: 24px 32px; }
  .admin-shell > header, .admin-shell > .current-tenant, .admin-shell > .admin-tabs,
  .admin-shell > .query-panel, .admin-shell > .error { flex-shrink: 0; }
  .admin-shell header { padding-bottom: 16px; margin-bottom: 12px; }
  .admin-shell .current-tenant { margin-bottom: 12px; }
  .admin-shell .admin-tabs { margin-bottom: 16px; }
  .admin-shell .toolbar { padding: 16px; }
  .admin-shell > [role="tabpanel"] { flex: 1; min-height: 0; margin-top: 20px; }
  .admin-shell .workspace { align-items: stretch; }
  .admin-shell .sessions { display: flex; flex-direction: column; min-height: 0; }
  .admin-shell .sessions > .session-heading, .admin-shell .sessions > button { flex-shrink: 0; }
  .admin-shell .sessions .table-wrap { flex: 1; min-height: 0; }
  .admin-shell .detail { min-height: 0; overflow: auto; overscroll-behavior: contain; }
  .admin-shell .detail-heading { position: sticky; top: -24px; margin: -24px -24px 0; padding: 24px; background: white; z-index: 2; border-bottom: 1px solid #eef2f7; }
  .admin-shell #admin-panel-users, .admin-shell #admin-panel-tenants { overflow: auto; scrollbar-gutter: stable; }
  .admin-shell #admin-panel-users > .dashboard-section:first-child,
  .admin-shell #admin-panel-tenants > .dashboard-section:first-child { margin-top: 0; }
}
@media (max-width: 1100px) {
  .admin-shell .sessions .table-wrap { max-height: 55vh; }
  .admin-shell .detail:not(.detail--open) { max-height: 65vh; overflow: auto; }
}
@media (max-width: 600px) {
  .admin-shell .sessions .table-wrap, .admin-shell .users-table, .admin-shell .tenants-table { max-height: 55vh; overflow: auto; }
  .admin-shell .users-table tr, .admin-shell .tenants-table tr { margin-right: 4px; }
}

/* 沿用官网的白底、黑色品牌区及蓝色渐变，保留管理工作区滚动边界。 */
:root { color: #18191b; background: #fff; font-family: "Poppins", "Helvetica Neue", "PingFang SC", "Microsoft YaHei", Arial, sans-serif; }
.admin-shell { width: min(1600px, 100%); }
.admin-shell header { position: relative; padding: 24px 28px; border: 0; border-radius: 20px; background: linear-gradient(115deg, #001b68 0%, #03070e 40%, #000 75%, #0c1749 100%); color: white; }
.admin-shell header p { color: #91acff; letter-spacing: .1em; font-weight: 600; }
.admin-shell h1 { font-weight: 600; letter-spacing: -.025em; }
.admin-shell h2 { color: #18191b; }
.admin-shell .header-actions a { border-color: #ffffff35; background: #ffffff0c; color: white; }
.admin-shell .header-actions a:hover { background: #ffffff18; }
.admin-shell .language-switch { border-color: #ffffff30; background: #ffffff0c; }
.admin-shell .language-switch button { color: #c0c5d1; }
.admin-shell .language-switch button[aria-pressed="true"] { color: white; background: linear-gradient(105deg, #0099ff, #0047ff); }
.admin-shell .current-tenant { color: #707585; }
.admin-shell .current-tenant strong { border: 0; background: #f3f5fa; color: #303849; }
.admin-shell .admin-tabs { border-bottom-color: #ebecf0; }
.admin-shell .admin-tabs button { color: #707585; }
.admin-shell .admin-tabs button[aria-selected="true"] { color: #0055ff; }
.admin-shell .admin-tabs button[aria-selected="true"]::after { background: linear-gradient(90deg, #0099ff, #0047ff); }
.admin-shell .query-panel { border-color: #e9ebf0; background: #f7f8fa; border-radius: 14px; }
.admin-shell label { color: #636979; }
.admin-shell input, .admin-shell select { border-color: #e0e3ea; border-radius: 6px; color: #23262d; }
.admin-shell .toolbar > button, .admin-shell form > button { background: linear-gradient(105deg, #0099ff, #0047ff); border-radius: 6px; }
.admin-shell .toolbar > button:not(:disabled):hover, .admin-shell form > button:not(:disabled):hover { background: linear-gradient(105deg, #0087ef, #003ce0); }
.toolbar-export { align-self: end; min-height: 42px; padding: 0 18px; border: 1px solid #d4deeb; border-radius: 9px; color: #41516a; background: white; font-weight: 650; cursor: pointer; }
.admin-shell .toolbar-export { min-height: 42px; border-radius: 8px; }
.toolbar-export:not(:disabled):hover { border-color: #5285ff; color: #0a55ff; }
.admin-shell .session-search > .session-search-clear { color: #636979; background: #f1f3f7; }
.admin-shell .session-search > .session-search-clear:not(:disabled):hover { color: #23262d; background: #e5e9f0; }
.admin-shell .dashboard-section, .admin-shell .sessions, .admin-shell .detail { border-color: #e9ebf0; border-radius: 16px; box-shadow: none; }
.admin-shell th { background: #f7f8fa; color: #747986; }
.admin-shell td { color: #383d48; border-bottom-color: #f0f1f4; }
.admin-shell .table-wrap { border-color: #eceef3; border-radius: 10px; }
.admin-shell .sessions tbody tr:hover, .admin-shell .user-selected { background: #f2f6ff; }
.admin-shell .empty { color: #858b99; }
.admin-shell .metrics article { border-color: #eceef3; background: #f8f9fc; border-radius: 12px; }
.admin-shell .metrics article.metric--accent { border-color: #d6e3ff; background: linear-gradient(135deg, #edf7ff, #f0efff); }
.admin-shell .metrics strong { color: #171b24; }
.admin-shell .metrics .metric--accent strong { color: #0055ff; }
.admin-shell .section-heading p, .admin-shell .user-link { color: #0055ff; }
.admin-shell .status { color: #0055ff; background: #edf3ff; }
@media (max-width: 600px) {
  .admin-shell header { padding: 20px 16px; border-radius: 16px; }
  .admin-shell h1 { font-size: 21px; }
  .admin-shell .header-actions a { color: #c8d3ef; background: transparent; }
  .admin-shell .table-wrap { border-radius: 0; }
}

@font-face { font-family: "Admin Poppins"; font-style: normal; font-weight: 400; font-display: swap; src: url("data:font/woff2;base64,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") format("woff2"); }

@font-face { font-family: "Admin Poppins"; font-style: normal; font-weight: 600; font-display: swap; src: url("data:font/woff2;base64,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") format("woff2"); }

.admin-shell { font-family: "Admin Poppins", "PingFang SC", "Microsoft YaHei", Arial, sans-serif; }

/* 将品牌、看板入口与辅助操作合并为单行顶栏，把高度留给数据。 */
.admin-shell { padding: 16px 24px; }
.admin-shell .admin-topbar { display: flex; align-items: center; gap: 24px; min-height: 60px; height: 60px; margin: 0 0 12px; padding: 0 20px; border-radius: 12px; flex-shrink: 0; }
.admin-shell .admin-topbar h1 { font-size: 20px; line-height: 1.2; white-space: nowrap; }
.admin-shell .admin-topbar .admin-tabs { align-self: stretch; align-items: stretch; gap: 8px; margin: 0; border: 0; }
.admin-shell .admin-topbar .admin-tabs button { min-height: 0; padding: 0 16px; color: #b8c2db; font-size: 13px; }
.admin-shell .admin-topbar .admin-tabs button[aria-selected="true"] { color: white; background: #ffffff0c; }
.admin-shell .admin-topbar .admin-tabs button[aria-selected="true"]::after { bottom: 0; }
.admin-shell .admin-topbar .current-tenant { margin: 0 0 0 auto; gap: 6px; color: #a5aec2; font-size: 11px; }
.admin-shell .admin-topbar .current-tenant strong { padding: 4px 8px; background: #ffffff12; color: #dbe5ff; }
.admin-shell .admin-topbar .header-actions { gap: 12px; }
.admin-shell .admin-topbar .header-actions a { padding: 7px 10px; font-size: 11px; }
.admin-shell .toolbar { padding: 12px 16px; gap: 12px; }
.admin-shell .toolbar label { gap: 5px; font-size: 11px; }
.admin-shell .toolbar input, .admin-shell .toolbar > button { min-height: 36px; }
.admin-shell > [role="tabpanel"] { margin-top: 12px; }
@media (min-width: 1101px) {
  .admin-shell { height: 100vh; height: 100dvh; min-height: 480px; }
}
@media (max-width: 1100px) {
  .admin-shell .admin-topbar { gap: 12px; }
  .admin-shell .admin-topbar .current-tenant { display: none; }
  .admin-shell .admin-topbar .header-actions { margin-left: auto; }
}
@media (max-width: 700px) {
  .admin-shell { padding: 12px; }
  .admin-shell .admin-topbar { height: auto; min-height: 60px; flex-wrap: wrap; gap: 0 12px; padding: 12px; }
  .admin-shell .admin-topbar h1 { font-size: 17px; }
  .admin-shell .admin-topbar .header-actions { flex-direction: row; gap: 6px; }
  .admin-shell .admin-topbar .header-actions a { display: none; }
  .admin-shell .admin-topbar .admin-tabs { order: 3; width: 100%; height: 38px; margin-top: 8px; }
  .admin-shell .admin-topbar .admin-tabs button { flex: 1; padding: 0 8px; }
}
.admin-shell .admin-topbar .admin-tabs button { align-self: stretch; }

/* ── 概览看板：折线图、图例与悬停提示 ── */
.overview-filters { display: flex; gap: 12px; align-items: end; margin-bottom: 18px; flex-wrap: wrap; }
.overview-filters label { display: grid; gap: 6px; font-size: 13px; color: #475569; }
.overview-filters input { min-height: 34px; }
.chart-legend { display: flex; gap: 16px; flex-wrap: wrap; list-style: none; margin: 0 0 10px; padding: 0; font-size: 13px; color: #334155; }
.chart-legend li { display: inline-flex; align-items: center; gap: 6px; }
.chart-legend-dot { width: 10px; height: 10px; border-radius: 50%; display: inline-block; flex: none; }
.chart-wrap { position: relative; border: 1px solid #e2e8f0; border-radius: 10px; background: #fff; padding: 8px 4px 2px; }
.chart-wrap svg { display: block; width: 100%; height: auto; }
.chart-grid line { stroke: #eef2f7; stroke-width: 1; }
.chart-axis text { fill: #94a3b8; font-size: 11px; }
.chart-line { fill: none; stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; }
.chart-guide { stroke: #94a3b8; stroke-width: 1; stroke-dasharray: 4 4; }
.chart-point { fill: #fff; stroke-width: 2.5; }
.chart-tooltip { position: absolute; top: 12px; z-index: 5; display: grid; gap: 4px; min-width: 180px; padding: 10px 12px; border: 1px solid #dbe3ef; border-radius: 10px; background: #ffffffee; box-shadow: 0 6px 18px #0f172a14; font-size: 12px; color: #334155; pointer-events: none; }
.chart-tooltip > strong { font-size: 12px; color: #0f172a; margin-bottom: 2px; }
.chart-tooltip-row { display: flex; align-items: center; gap: 6px; }
.chart-tooltip-row strong { margin-left: auto; color: #0f172a; font-variant-numeric: tabular-nums; }
.chart-note { margin: 8px 2px 0; font-size: 12px; color: #94a3b8; }

/* ── 概览分布统计卡片 ── */
.overview-distributions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 18px; }
.dist-card { display: flex; flex-direction: column; gap: 8px; padding: 16px; border: 1px solid #e2e8f0; border-radius: 10px; background: #fff; }
.dist-card--wide { grid-column: 1 / -1; }
.dist-card h3 { margin: 0 0 2px; font-size: 13px; color: #0f172a; }
.dist-row { display: flex; align-items: center; gap: 10px; font-size: 12px; color: #334155; }
.dist-row--list { justify-content: space-between; }
.dist-label { flex: none; width: 120px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #64748b; }
.dist-label--page { width: 260px; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; }
.dist-bar { flex: 1; height: 8px; border-radius: 4px; background: #f1f5f9; overflow: hidden; }
.dist-bar-fill { display: block; height: 100%; border-radius: 4px; background: #2563eb; }
.dist-bar-fill--cost { background: #dc2626; }
.dist-value { flex: none; font-variant-numeric: tabular-nums; color: #0f172a; }
.dist-value small { color: #94a3b8; font-weight: 400; }
.dist-empty { margin: 4px 0 0; font-size: 12px; color: #94a3b8; }
@media (max-width: 900px) {
  .overview-distributions { grid-template-columns: 1fr; }
  .dist-label { width: 96px; }
  .dist-label--page { width: 160px; }
}

/* ── 会话时间线卡片 ── */
.timeline-cards { list-style: none; margin: 12px 0 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.tl-card { padding: 12px 14px; border: 1px solid #e2e8f0; border-left-width: 3px; border-radius: 10px; background: #fff; }
.tl-card--message-user, .tl-card--message-assistant { max-width: 85%; border-left-width: 1px; border-radius: 12px; }
.tl-card--message-user { margin-left: auto; background: #e8f0fe; border-color: #c7dbff; border-top-right-radius: 4px; }
.tl-card--message-assistant { margin-right: auto; background: #e8f3ec; border-color: #c9ead9; border-top-left-radius: 4px; }
.tl-card--action { border-left-color: #d97706; }
.tl-card--cta { border-left-color: #7c3aed; }
.tl-card--page, .tl-card--recommendation { border-left-color: #94a3b8; }
.tl-head { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; }
.tl-title { font-size: 12px; font-weight: 600; color: #0f172a; }
.tl-head time { flex: none; font-size: 11px; color: #94a3b8; font-variant-numeric: tabular-nums; }
.tl-message { margin: 8px 0 0; font-size: 12px; line-height: 1.6; color: #1e293b; white-space: pre-wrap; word-break: break-word; }
.tl-message--clamped { max-height: 11em; overflow: hidden; -webkit-mask-image: linear-gradient(#000 70%, transparent); mask-image: linear-gradient(#000 70%, transparent); }
.tl-expand { margin-top: 2px; padding: 0; border: 0; background: none; color: #2563eb; font-size: 11px; cursor: pointer; }
.tl-feedback { margin: 8px 0 0; padding: 3px 10px; border-radius: 999px; background: #dcfce7; color: #166534; font-size: 11px; display: inline-block; }
.tl-feedback--down { background: #fee2e2; color: #991b1b; }
.tl-fields { margin: 8px 0 0; display: grid; grid-template-columns: auto 1fr; gap: 4px 12px; font-size: 12px; }
.tl-fields dt { color: #94a3b8; white-space: nowrap; }
.tl-fields dd { margin: 0; color: #1e293b; word-break: break-all; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 11px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tl-raw { margin-top: 8px; }
.tl-raw summary { font-size: 11px; color: #94a3b8; cursor: pointer; }
.tl-raw pre { margin: 6px 0 0; padding: 10px; border-radius: 8px; background: #f8fafc; font-size: 11px; overflow-x: auto; white-space: pre-wrap; word-break: break-word; }
@media (max-width: 900px) {
  .tl-card--message-user, .tl-card--message-assistant { max-width: 92%; }
}

/* ── 概览图例开关与折线半透明：曲线重合时仍可分辨与单独查看 ── */
.chart-legend li { cursor: pointer; user-select: none; padding: 2px 6px; border-radius: 6px; }
.chart-legend li:hover { background: #f1f5f9; }
.chart-legend li:focus-visible { outline: 2px solid #2563eb; outline-offset: 1px; }
.chart-legend-item--off { opacity: 0.38; }
.chart-line { stroke-opacity: 0.82; }

/* ── 列表分页器与分组 ── */
.pagination { display: flex; align-items: center; gap: 14px; margin-top: 18px; padding-top: 14px; border-top: 1px solid #eef2f7; font-size: 12px; color: #475569; flex-wrap: wrap; }
.pagination button { flex: none; padding: 8px 16px; border: 1px solid #dbe3ef; border-radius: 8px; background: #fff; color: #1e293b; font-size: 12px; cursor: pointer; white-space: nowrap; }
.pagination button:hover:not(:disabled) { border-color: #2563eb; color: #2563eb; }
.pagination button:disabled { opacity: .45; cursor: default; }
.pagination-total { margin-left: auto; color: #94a3b8; white-space: nowrap; }
.pagination-jump { display: inline-flex; align-items: center; gap: 8px; white-space: nowrap; }
.pagination-jump select { min-width: 64px; min-height: 32px; padding: 4px 8px; border: 1px solid #dbe3ef; border-radius: 8px; background: #fff; font-size: 12px; }
.session-group { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; color: #64748b; flex: none; white-space: nowrap; }
.session-group select { min-height: 32px; padding: 2px 8px; border: 1px solid #dbe3ef; border-radius: 8px; background: #fff; font-size: 12px; }
tr.group-row td { padding: 8px 12px; background: #f1f5f9; color: #334155; font-size: 12px; font-weight: 600; border-top: 1px solid #e2e8f0; }
/* 分组模式下数据行首列缩进，与分组表头形成层级 */
.sessions-grouped tbody tr:not(.group-row):not(.empty-row) td:first-child { padding-left: 30px; }
.sessions-grouped tbody tr:not(.group-row):not(.empty-row) td:first-child .session-id { position: relative; }
.sessions-grouped tbody tr:not(.group-row):not(.empty-row) td:first-child .session-id::before { content: ""; position: absolute; left: -18px; top: 50%; width: 10px; height: 1px; background: #cbd5e1; }

/* 授权 Tab：本地应用授权列表与状态徽标 */
.admin-shell .grants-panel .section-heading p { margin: 8px 0 0; color: #64748b; font-size: 12px; font-weight: 400; letter-spacing: 0; line-height: 1.6; }
.admin-shell .grants-panel .section-heading { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
.admin-shell .grants-panel .section-heading button { min-height: 32px; padding: 4px 12px; border: 1px solid #dbe3ef; border-radius: 8px; background: #fff; font-size: 12px; cursor: pointer; }
.grants-howto { margin: 0 0 12px; padding: 8px 12px; border-radius: 8px; background: #f8fafc; color: #475569; font-size: 12px; line-height: 1.6; }
.grant-status { display: inline-block; padding: 3px 8px; border-radius: 999px; font-size: 11px; white-space: nowrap; }
.grant-status--active { color: #047857; background: #ecfdf5; }
.grant-status--expired { color: #92400e; background: #fffbeb; }
.grant-status--revoked { color: #64748b; background: #f1f5f9; }
.grant-row--revoked td, .grant-row--expired td { color: #64748b; }
.grant-actions { white-space: nowrap; }
.grant-revoke { color: #b91c1c; }
@media (max-width: 760px) {
  .grants-panel .section-heading { flex-direction: column; }
  .grant-actions { border-top: 1px solid #e2e8f0 !important; padding-top: 6px !important; white-space: normal; }
}

