/*
 * SaaSShop Admin Components
 * 说明：用于承接 Blade 中零散的 inline style，便于后续统一美化与治理。
 *
 * 美化方向：Ant Design Pro 风格（规整、企业中后台范式）
 */

/* Toast（渐进增强：配合 admin.js 展示更友好的反馈提示） */
.toast-container{
    position:fixed;
    top:16px;
    right:16px;
    z-index:999;
    display:flex;
    flex-direction:column;
    gap:10px;
    width:min(420px, calc(100vw - 32px));
}

.toast{
    background:var(--adm-bg-container, #ffffff);
    border:1px solid var(--adm-border-color, #e5e7eb);
    border-left-width:4px;
    border-radius:var(--adm-radius, 12px);
    padding:12px 12px;
    color:var(--adm-text, #0f172a);
    box-shadow:var(--adm-shadow-popover);
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
}

.toast-success{border-left-color:var(--adm-success, #16a34a);}
.toast-warning{border-left-color:var(--adm-warning, #f59e0b);}
.toast-error{border-left-color:var(--adm-error, #ef4444);}

.toast-content{
    font-size:13px;
    line-height:1.45;
    word-break:break-word;
}

.toast-close{
    appearance:none;
    border:none;
    background:transparent;
    color:var(--adm-text-muted, #94a3b8);
    font-size:18px;
    line-height:1;
    cursor:pointer;
    padding:2px 6px;
    border-radius:8px;
}

.toast-close:hover{
    background:var(--adm-primary-tint-08, rgba(22, 119, 255, .08));
    color:var(--adm-text, #0f172a);
}

.form-inline-row{
    display:flex;
    align-items:center;
    gap:8px;
}

.text-danger{
    color:#b42318;
}

/* 平台订单：退款状态治理区块 */
.refund-governance-block{
    margin-top:12px;
    border:1px dashed var(--adm-error-border-strong, rgba(239, 68, 68, .45));
    background:var(--adm-error-bg, #fef2f2);
}

.refund-governance-title{
    margin-bottom:6px;
}

.refund-governance-meta{
    margin-bottom:8px;
}

/* 平台订单：治理提示块（用于 BMPA / 同步订阅 等动作前的安全阀说明） */
.governance-block{
    margin-top:10px;
    width:100%;
    border:1px solid var(--adm-error-border-soft, rgba(239, 68, 68, .25));
    background:var(--adm-error-bg, #fef2f2);
}

.governance-block-title{
    margin:0;
}

.governance-block-body{
    margin-top:6px;
    font-size:12px;
    line-height:1.5;
}

/* 可复用：治理提示块内的说明/脚注文本 */
.governance-block-footnote{
    margin-top:6px;
    font-size:12px;
    line-height:1.5;
}

/* 可复用：折叠面板（参考 Ant Design Pro 的筛选区交互：可折叠、摘要做成一条可点 Header） */

/* 可复用：Filters Card（平台订单/订阅等列表页共用：统一筛选区观感） */
.filters-card{
    padding:0;
}

.filters-summary{
    padding:14px 16px;
}

.filters-body{
    padding:14px 16px 16px;
    border-top:1px solid var(--adm-border-color, #e5e7eb);
}

.filters-grid{
    margin:0;
}

/* 可复用：List Card（列表页统一卡片：标题区/操作区/表格区） */
.list-card{
    padding:0;
}

/* 可复用：Pagination（中后台分页，参考 Ant Design Pro） */
.adm-pagination{
    margin-top:16px;
}

/* 强制去掉分页区域下划线：避免被全局 a:hover{text-decoration:underline;} 影响 */
.adm-pagination a,
.adm-pagination a:hover,
.adm-pagination a:focus,
.adm-pagination a:active{
    text-decoration:none !important;
}

.adm-pagination-inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    flex-wrap:wrap;
}

.adm-page-list{
    display:flex;
    align-items:center;
    gap:6px;
    flex-wrap:wrap;
}

.adm-page-btn,
.adm-page-num,
.adm-page-ellipsis{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:32px;
    height:32px;
    padding:0 10px;
    border-radius:10px;
    border:1px solid var(--adm-border-color, #e5e7eb);
    background:var(--adm-bg-container, #ffffff);
    color:var(--adm-text, #0f172a);
    text-decoration:none;
    box-shadow:var(--adm-shadow-sm);
}

.adm-page-ellipsis{
    border-color:transparent;
    background:transparent;
    box-shadow:none;
    min-width:auto;
    padding:0 6px;
    color:var(--adm-text-muted, #94a3b8);
}

.adm-page-num.is-active{
    border-color:var(--adm-primary-border-45, rgba(22, 119, 255, .45));
    background:var(--adm-primary-tint-08, rgba(22, 119, 255, .08));
    color:var(--adm-text, #0f172a);
    font-weight:700;
}

.adm-page-btn:hover,
.adm-page-num:hover{
    text-decoration:none;
    border-color:var(--adm-primary-border-35, rgba(22, 119, 255, .35));
    background:var(--adm-primary-tint-06, rgba(22, 119, 255, .06));
}

.adm-page-btn.is-disabled{
    opacity:.55;
    cursor:not-allowed;
}

.adm-page-meta{
    margin-left:auto;
}

.list-card-header{
    padding:14px 16px;
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
}

.list-card-title{
    margin:0;
}

.list-card-subtitle{
    margin-top:6px;
}

.list-card-body{
    border-top:1px solid var(--adm-border-color, #e5e7eb);
    padding:0;
    overflow:hidden;
}

.list-card-table{
    margin:0;
    border-collapse:separate;
    border-spacing:0;
}

.list-card-table tbody tr:last-child td{
    border-bottom:none;
}

.list-card-table th,
.list-card-table td{
    padding:12px 12px;
}

.list-card-table thead th{
    background:var(--adm-table-header-bg, #fafafa);
}

.list-card-table tbody tr:hover td{
    background:var(--adm-table-row-hover-bg, rgba(22, 119, 255, .04));
}

.list-card-table .table-empty{
    padding:24px 12px;
    text-align:center;
    background:var(--adm-surface-tint);
}

/* 可复用：PageHeader（参考 Ant Design Pro：标题区 + 描述 + 右侧操作区） */
.page-header{
    width:100%;
    padding:16px;
    border:1px solid var(--adm-border-color, #e5e7eb);
    border-radius:var(--adm-radius, 12px);
    background:var(--adm-bg-container, #ffffff);
}

.page-header-main{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
}

.page-header-title{
    font-size:18px;
    font-weight:700;
    color:var(--adm-text, #0f172a);
    line-height:1.2;
}

.page-header-subtitle{
    margin-top:6px;
    font-size:13px;
    color:var(--adm-text-secondary, #64748b);
    line-height:1.45;
}

.page-header-actions{
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
}

.page-header-meta{
    margin-top:12px;
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    color:var(--adm-text-secondary, #64748b);
    font-size:12px;
}

/* 可复用：KPI 卡片栅格（参考 Ant Design Pro Analysis：第一行 4 个等宽卡片） */

/* 可复用：迷你图表/排行/占比（渐进增强：由 admin.js 渲染，页面无 JS 时为空但不影响表格） */
.adm-mini-chart,
.adm-mini-rank,
.adm-mini-share{
    margin-top:10px;
    width:100%;
    padding:10px 10px;
    border:1px solid var(--adm-border-color, #e5e7eb);
    border-radius:var(--adm-radius, 12px);
    background:var(--adm-surface-tint);
    box-shadow:var(--adm-shadow-sm);
}

/* 迷你图表的摘要行（用于展示合计/峰值等口径，参考 Ant Design Pro 的 card extra/meta 文案） */
.adm-mini-meta{
    margin-top:8px;
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    align-items:center;
    color:var(--adm-text-secondary, #64748b);
    font-size:12px;
}

.adm-mini-meta-item strong{
    color:var(--adm-text, #0f172a);
}

.adm-mini-meta-sep{
    color:var(--adm-text-muted, #94a3b8);
}

.adm-mini-chart.is-empty,
.adm-mini-rank.is-empty,
.adm-mini-share.is-empty{
    align-items:center;
    justify-content:center;
    color:var(--adm-text-muted, #94a3b8);
    font-size:12px;
}

.adm-mini-chart{
    /* 高度加大：避免 bar 与容器 padding/边框挤压，提升可读性 */
    height:110px;
    display:flex;
    align-items:flex-end;
    gap:8px;
}

.adm-mini-chart-bar{
    flex:1;
    min-width:0;
    height:10px;
    border-radius:10px 10px 4px 4px;
    border:1px solid var(--adm-primary-border-35, rgba(22, 119, 255, .35));
    background:var(--adm-primary-tint-08, rgba(22, 119, 255, .08));
    position:relative;
    overflow:hidden;
}

.adm-mini-chart-bar::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(180deg, rgba(22, 119, 255, .22), rgba(22, 119, 255, .04));
}

.adm-mini-chart-bar:hover{
    border-color:var(--adm-primary-border-45, rgba(22, 119, 255, .45));
    background:var(--adm-primary-tint-06, rgba(22, 119, 255, .06));
}

/* 趋势迷你图：bar 可点击（JS 渐进增强把 bar 渲染为 <a>） */
.adm-mini-chart-bar-link{
    display:block;
    cursor:pointer;
    text-decoration:none;
}

.adm-mini-chart-bar-link:hover{
    text-decoration:none;
}

/* 可复用：迷你排行（渐进增强：由 admin.js 渲染，页面无 JS 时为空但不影响表格） */
.adm-mini-rank{
    display:flex;
    flex-direction:column;
    gap:8px;
}

.adm-mini-rank-row{
    display:flex;
    align-items:center;
    gap:10px;
}

/* 迷你排行：整行可点击（JS 渐进增强把 row 渲染为 <a>） */
.adm-mini-rank-row-link{
    color:inherit;
    text-decoration:none;
    border-radius:10px;
    padding:2px 4px;
}

.adm-mini-rank-row-link:hover{
    background:var(--adm-primary-tint-06, rgba(22, 119, 255, .06));
    text-decoration:none;
}

/* 迷你占比：整行可点击（JS 渐进增强把 row 渲染为 <a>） */
.adm-mini-share-row-link{
    display:flex;
    align-items:center;
    gap:10px;
    color:inherit;
    text-decoration:none;
    border-radius:10px;
    padding:2px 4px;
}

.adm-mini-share-row-link:hover{
    background:var(--adm-primary-tint-06, rgba(22, 119, 255, .06));
    text-decoration:none;
}

.adm-mini-rank-name{
    width:72px;
    min-width:72px;
    max-width:72px;
    font-size:12px;
    color:var(--adm-text-secondary, #64748b);
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.adm-mini-rank-bar-wrap{
    flex:1;
    min-width:0;
    height:12px;
    border-radius:999px;
    background:rgba(15, 23, 42, .06);
    overflow:hidden;
}

.adm-mini-rank-bar{
    height:100%;
    border-radius:999px;
    background:linear-gradient(90deg, rgba(22, 119, 255, .55), rgba(22, 119, 255, .18));
}

.adm-mini-rank-value{
    width:92px;
    min-width:92px;
    text-align:right;
    font-size:12px;
    color:var(--adm-text, #0f172a);
}

/* 可复用：迷你占比（Top5）（渐进增强：由 admin.js 渲染，页面无 JS 时为空但不影响表格） */
.adm-mini-share{
    display:flex;
    flex-direction:column;
    gap:8px;
}

.adm-mini-share-row{
    display:flex;
    align-items:center;
    gap:10px;
}

.adm-mini-share-name{
    width:72px;
    min-width:72px;
    max-width:72px;
    font-size:12px;
    color:var(--adm-text-secondary, #64748b);
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.adm-mini-share-bar-wrap{
    flex:1;
    min-width:0;
    height:12px;
    border-radius:999px;
    background:rgba(15, 23, 42, .06);
    overflow:hidden;
}

.adm-mini-share-bar{
    height:100%;
    border-radius:999px;
    background:linear-gradient(90deg, rgba(245, 158, 11, .45), rgba(245, 158, 11, .16));
}

.adm-mini-share-value{
    width:92px;
    min-width:92px;
    text-align:right;
    font-size:12px;
    color:var(--adm-text, #0f172a);
}

.kpi-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
    align-items:stretch; /* 关键：保证同一行 KPI 卡片等高 */
}

/*
 * 重要：admin-base.css 有全局规则 `.card + .card{margin-top:20px;}` 用于“纵向堆叠卡片”。
 * 但在 grid（KPI / two-col 等）里会导致“第二张卡片整体下沉”，出现你看到的“站点在中间、其它在底部”的错位。
 * 因此：在 KPI grid 场景显式清零 margin-top。
 */
.kpi-grid .card{
    margin-top:0;
}

/* KPI 卡片：统一为竖向 flex，保证标题/数值/脚注布局稳定且等高 */
.kpi-grid .card{
    display:flex;
    flex-direction:column;
    height:100%;
}
.kpi-grid .stat-card-footnote{
    margin-top:auto; /* 把脚注推到底部，进一步锁定等高视觉 */
}

/* Dashboard 两列卡片：同样清理“纵向堆叠 margin-top”对 grid 的干扰，确保“趋势/排行/工作台/定位/最近订单/占比”顶边对齐 */
.two-col .card{
    margin-top:0;
}

/* 通用：所有 grid 容器内的卡片，都应清理 `.card + .card{margin-top:20px;}` 的纵向堆叠规则。
 * 否则会出现“同一行/同一网格里的第2张卡开始整体下沉”的错位。
 */
.grid > .card,
.grid-2 > .card,
.grid-3 > .card,
.grid-4 > .card,
.grid-5 > .card,
.grid-6 > .card{
    margin-top:0;
}

@media (max-width: 1024px){
    .kpi-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media (max-width: 640px){
    .kpi-grid{
        grid-template-columns:1fr;
    }
}

.stat-card-title{
    font-size:12px;
    color:var(--adm-text-secondary, #64748b);
}

.stat-card-value{
    margin-top:10px;
    font-size:22px;
    font-weight:800;
    color:var(--adm-text, #0f172a);
    letter-spacing:.2px;
}

.stat-card-footnote{
    margin-top:8px;
    font-size:12px;
    color:var(--adm-text-muted, #94a3b8);
}

/* mini bar（纯 CSS，占比可视化，增强说服力）
 * - 订阅列表页：订阅到期治理 Top10
 * - 仪表盘：订阅到期治理占比
 */
.adm-mini-bar{
    height:8px;
    margin-top:6px;
    border-radius:999px;
    background:var(--adm-bg-elevated, rgba(148, 163, 184, .12));
    overflow:hidden;
}

.adm-mini-bar-fill{
    display:block;
    height:100%;
    background:linear-gradient(90deg, var(--adm-color-primary, #1677ff), rgba(22, 119, 255, .35));
}

.adm-mini-bar-row{
    display:grid;
    grid-template-columns:minmax(88px, 120px) 1fr minmax(54px, 96px);
    gap:10px;
    align-items:center;
}

.adm-mini-bar-row-link{
    text-decoration:none;
    color:inherit;
    border-radius:10px;
    padding:4px 6px;
    margin-left:-6px;
    margin-right:-6px;
}

.adm-mini-bar-row-link:hover{
    background:var(--adm-primary-tint, rgba(22, 119, 255, .08));
}

.adm-mini-bar-row-link:focus{
    outline:none;
    box-shadow:0 0 0 3px var(--adm-primary-focus-ring, rgba(22, 119, 255, .12)), var(--adm-shadow-sm);
}

.adm-mini-bar-label{
    font-size:12px;
    color:var(--adm-text-muted, #94a3b8);
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    min-width:0; /* for css grid ellipsis */
}

.adm-mini-bar-value{
    text-align:right;
    font-size:12px;
    color:var(--adm-text-muted, #94a3b8);
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    min-width:0; /* for css grid ellipsis */
}

.collapsible > summary{
    list-style:none;
    cursor:pointer;
}

.collapsible > summary::-webkit-details-marker{
    display:none;
}

.collapsible-summary{
    user-select:none;
}

.collapsible-body{
    margin-top:10px;
}

/* 平台订单：工具区（两列分组卡片化，避免表单散落） */
.tool-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
    align-items:stretch;
}

/* 工具区：统一“被治理阻断”提示样式（避免 Blade 内散落的 class 组合） */
.adm-tool-blocked-hint{
    margin-top:6px;
    font-size:12px;
    line-height:1.5;
    color:var(--adm-error, #ef4444);
}

/* 工具区：按钮被禁用时的“软提示”视觉（更像 Ant Design Pro 的 disabled + hint 组合） */
.tool-group button[disabled]{
    opacity:.55;
    cursor:not-allowed;
}
.tool-group button[disabled] + .adm-tool-blocked-hint{
    color:var(--adm-text-muted, #94a3b8);
}

/* 防止 focus-box（border） + 内部 form 宽度造成列间“压线/重叠” */
.tool-grid > *{
    min-width:0;
}

@media (max-width: 768px){
    .tool-grid{
        grid-template-columns:1fr;
    }
}

.tool-group{
    width:100%;
    height:100%;
    display:flex;
    flex-direction:column;
}

.tool-group-title{
    font-size:12px;
    color:#94a3b8;
    text-transform:uppercase;
    letter-spacing:.08em;
    font-weight:700;
    margin:0 0 10px;
}

.tool-group-subtitle{
    margin:0 0 6px;
}

/* 平台订单列表：避免列太多导致内容挤压成“竖排/断字” */
.table-wrap{
    width:100%;
    overflow-x:auto;
}

.table-wrap table.platform-orders-table{
    min-width:1600px;
}

/* 平台订单列表：根据视图控制 min-width（精简视图更紧凑，full 视图更宽） */
.platform-orders-table.is-compact{
    min-width:1400px;
}

.platform-orders-table.is-full{
    min-width:2000px;
}

.table-nowrap th,
.table-nowrap td{
    white-space:nowrap;
    word-break:normal;
}

/* 平台订单列表：精简视图（默认隐藏部分列，避免列表过长） */
.platform-orders-table .col-optional{
    display:none;
}

.platform-orders-table.is-full .col-optional{
    display:table-cell;
}

/* 平台订单列表（精简视图）：进一步收敛信息密度 */
.platform-orders-table.is-compact td{
    padding-top:8px;
    padding-bottom:8px;
}

.platform-orders-table.is-compact .muted-xs{
    font-size:12px;
}

/* 平台订单列表：二行辅助信息（例如 线索/订阅ID） */
.platform-orders-table .row-meta{
    margin-top:2px;
}

/* 平台订单列表：行内治理提示（精简视图主要入口） */
.platform-orders-table .row-warn{
    margin-top:4px;
    padding:4px 6px;
    border-left:3px solid var(--adm-error, #ef4444);
    background:#fff9f9;
    border-radius:4px;
    cursor:help;
}

/* Dashboard 最近平台订单：同类提示块样式（额外增加横向滚动以保持同一行） */
[data-page="admin.dashboard"] .row-warn{
    margin-top:4px;
    padding:4px 6px;
    border-left:3px solid var(--adm-error, #ef4444);
    background:#fff9f9;
    border-radius:4px;
    cursor:help;

    /* 最近平台订单：提示块内通常是“标签 + 多个短链接”，应尽量保持同一行，避免“进入集合”被挤到换行导致观感不稳 */
    white-space:nowrap;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
}

[data-page="admin.dashboard"] .row-warn::-webkit-scrollbar{
    height:6px;
}

[data-page="admin.dashboard"] .row-warn::-webkit-scrollbar-thumb{
    background:rgba(239, 68, 68, .25);
    border-radius:6px;
}

.platform-orders-table .row-warn a.link{
    color:var(--adm-error, #ef4444);
    text-decoration:underline;
}

.platform-orders-table .row-warn a.link:hover{
    text-decoration:none;
}

[data-page="admin.dashboard"] .row-warn a.link{
    color:var(--adm-error, #ef4444);
    text-decoration:underline;
}

[data-page="admin.dashboard"] .row-warn a.link:hover{
    text-decoration:none;
}

.platform-orders-table .row-warn-prefix{
    font-weight:600;
    display:inline-block;
    padding:1px 6px;
    border-radius:10px;
    background:var(--adm-error-tint, rgba(239, 68, 68, .12));
    color:var(--adm-error, #ef4444);
    margin-right:4px;
}

[data-page="admin.dashboard"] .row-warn-prefix{
    font-weight:600;
    display:inline-block;
    padding:1px 6px;
    border-radius:10px;
    background:var(--adm-error-tint, rgba(239, 68, 68, .12));
    color:var(--adm-error, #ef4444);
    margin-right:4px;
}

/* 仪表盘最近订单：避免内容把表格/卡片撑破导致横向溢出 */
[data-page="admin.dashboard"] [data-role="recent-platform-orders-table"]{
    table-layout:fixed;
}

[data-page="admin.dashboard"] [data-role="recent-platform-orders-table"] th:nth-child(1),
[data-page="admin.dashboard"] [data-role="recent-platform-orders-table"] td:nth-child(1){
    width:140px;
}

[data-page="admin.dashboard"] [data-role="recent-platform-orders-table"] th:nth-child(3),
[data-page="admin.dashboard"] [data-role="recent-platform-orders-table"] td:nth-child(3){
    width:110px;
    white-space:nowrap;
}

/* 仪表盘最近订单：避免「支付」表头在窄宽下被拆成竖排（CJK 可在任意字间断行） */
[data-page="admin.dashboard"] [data-role="recent-platform-orders-table"] th:nth-child(4),
[data-page="admin.dashboard"] [data-role="recent-platform-orders-table"] td:nth-child(4){
    width:86px;
    white-space:nowrap;
    min-width:56px;
}

[data-page="admin.dashboard"] [data-role="recent-platform-orders-table"] th:nth-child(5),
[data-page="admin.dashboard"] [data-role="recent-platform-orders-table"] td:nth-child(5){
    width:140px;
}

[data-page="admin.dashboard"] [data-role="recent-platform-orders-table"] td:nth-child(1) a.link{
    display:block;
    max-width:100%;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

/* 仪表盘最近订单：扫描信息行（用于快速判断治理状态，不替代下方治理提示入口） */
[data-page="admin.dashboard"] .adm-order-scanline{
    margin-top:3px;
    line-height:1.4;
    /* 避免 "BMPA：正常｜订阅：缺" 等短标签在窄屏下被拆行造成抖动 */
    white-space:nowrap;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
}

[data-page="admin.dashboard"] .adm-order-scanitem strong{
    font-weight:700;
}

[data-page="admin.dashboard"] .adm-order-scansep{
    color:var(--adm-text-muted, #94a3b8);
    padding:0 2px;
}

/* 平台订单详情页：锚点直达高亮（从仪表盘/集合跳转时更清晰） */
#relation-subscription:target,
#sync-failed:target,
#bmpa-failed:target,
#payment-receipts:target,
#add-payment-receipt:target,
#refund-receipts:target,
#add-refund-receipt:target{
    scroll-margin-top:90px;
    box-shadow:0 0 0 3px var(--adm-primary-focus-ring, rgba(22, 119, 255, .12)), var(--adm-shadow-sm);
}

/* 平台订单列表：精简视图也要可达的治理提示（对账/退款不一致） */
.platform-orders-table .governance-hints{
    margin-bottom:6px;
}

.platform-orders-table .governance-hint{
    line-height:1.4;
}

/* 总台管理：顶部导航（顶部主菜单保留，但视觉对齐 Ant Design Pro Header） */
.sidebar.topnav{
    white-space:normal;
    overflow-x:visible;
    background:var(--adm-bg-header, #ffffff);
    border-bottom:1px solid var(--adm-border-color, #e5e7eb);
    box-shadow:var(--adm-shadow-header, none);
}

.topnav-row{
    display:flex;
    align-items:center;
    gap:16px;
    flex-wrap:wrap;
}

.topnav-brand{
    display:inline-flex;
    align-items:center;
    font-weight:800;
    color:var(--adm-text, #0f172a);
    padding:8px 10px;
    border-radius:var(--adm-radius-sm, 10px);
}

.topnav-brand:hover{
    text-decoration:none;
    background:var(--adm-primary-tint-08, rgba(22, 119, 255, .08));
}

.topnav-menu{
    display:flex;
    align-items:center;
    gap:8px;
    flex:1;
    flex-wrap:wrap;
}

.topnav-link,
.topnav-summary{
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:8px 10px;
    border-radius:var(--adm-radius-sm, 10px);
    color:var(--adm-text-secondary, #64748b);
}

.topnav-link:hover,
.topnav-summary:hover{
    text-decoration:none;
    background:var(--adm-primary-tint-08, rgba(22, 119, 255, .08));
    color:var(--adm-text, #0f172a);
}

.topnav-item{
    position:relative;
}

.topnav-item > summary::-webkit-details-marker{
    display:none;
}

.topnav-item > summary{
    list-style:none;
    cursor:pointer;
    user-select:none;
}

.topnav-dropdown{
    position:absolute;
    top:calc(100% + 8px);
    left:0;
    min-width:180px;
    background:var(--adm-bg-container, #ffffff);
    border:1px solid var(--adm-border-color, #e5e7eb);
    border-radius:var(--adm-radius, 12px);
    padding:10px;
    box-shadow:var(--adm-shadow-popover);
    z-index:100;
}

/* details 未展开时不展示下拉 */
.topnav-item:not([open]) .topnav-dropdown{
    display:none;
}

.topnav-sub{
    display:block;
    padding:9px 10px;
    border-radius:var(--adm-radius-sm, 10px);
    color:var(--adm-text, #0f172a);
    margin:0;
}

.topnav-sub:hover{
    text-decoration:none;
    background:var(--adm-primary-tint-08, rgba(22, 119, 255, .08));
}

.topnav-actions{
    display:flex;
    align-items:center;
    gap:10px;
}

.topnav-meta{
    margin-top:6px;
}

/* 移动端：下拉改为文档流（避免 absolute 导致溢出） */
@media (max-width: 768px){
    .topnav-row{gap:10px;}
    .topnav-dropdown{
        position:static;
        min-width:auto;
        box-shadow:none;
        margin-top:6px;
    }
}

/* 兼容：旧的左侧导航二级分组样式（保留但不再作为主形态） */
.sidebar .nav-group{
    margin:10px 0;
}

.sidebar .nav-group-title{
    cursor:pointer;
    user-select:none;
    color:#94a3b8;
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.08em;
    font-weight:700;
    margin:0 0 6px;
    list-style:none;
}

.sidebar .nav-group summary::-webkit-details-marker{
    display:none;
}

.sidebar .nav-item--sub{
    display:block;
    padding-left:12px;
}
