/* =========================================================
   CodeShare 专业线性图标基础样式（配合 /js/pro-ui-icons.js）
   目标：emoji 全部转 24x24 stroke SVG；尺寸按容器语义收敛。
   ========================================================= */

.sm-ico {
    width: 1em;
    height: 1em;
    display: inline-block;
    vertical-align: -0.16em;
    flex: none;
    stroke: currentColor;
}

/* 纯图标容器：内部不再保留 emoji 字号占位 */
.menu-icon,
.nav-group-icon,
.brand-icon,
.upload-icon,
.empty-icon,
.empty-state .icon,
.stats-icon,
.stat-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0;
}

/* 侧边导航 */
.menu-icon .sm-ico,
.nav-group-icon .sm-ico,
.nav-section-title .sm-ico {
    width: 16px;
    height: 16px;
}
.admin-sidebar .sidebar-menu li > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    flex: none;
}
.admin-sidebar .sidebar-menu li > span .sm-ico {
    width: 16px;
    height: 16px;
}
/* 分组标题的 span 含文字，不能被 18px 图标位裁切 */
.admin-sidebar .sidebar-menu li.has-submenu > span:first-child {
    width: auto;
    justify-content: flex-start;
    gap: 8px;
}

/* 按钮 */
.btn .sm-ico,
.btn-sm .sm-ico,
.btn-lg .sm-ico,
.action-btn .sm-ico { width: 14px; height: 14px; }
.btn-icon .sm-ico { width: 14px; height: 14px; }
.input-group-btn .sm-ico { width: 15px; height: 15px; }

/* 卡片图标 */
.stats-icon .sm-ico,
.stat-icon .sm-ico,
.brand-icon .sm-ico,
.upload-icon .sm-ico { width: 22px; height: 22px; }
.stats-icon .sm-ico { width: 20px; height: 20px; }

/* 空状态 */
.empty-icon .sm-ico,
.empty-state .icon .sm-ico,
.empty-state .empty-icon .sm-ico {
    width: 28px;
    height: 28px;
    color: var(--text-3, #94a3b8);
}

/* 面板标题内嵌图标 */
.panel-header h2 .icon,
.panel-header h3 .icon,
.form-section-title .sm-ico { font-size: 0; }
.panel-header h2 .icon .sm-ico,
.panel-header h3 .icon .sm-ico { width: 17px; height: 17px; }

/* 行内状态图标（表格/提示文本）保持与文字同高 */
.sm-ico + .sm-ico { margin-left: 2px; }
