@charset "UTF-8";

/* ==========================================================================
   思妙（商会）二次开发 - 后台统一皮肤
   文件：simiaocms/static/assets/global/css/my.css
   加载：sm_hx/Fcms/View/head.html（后台所有页面最后加载）
   原则：
     1. 只用 sm- 前缀选择器 + .panel-default（官方模板未使用，仅二开在用）
        绝不使用裸 .btn/.table/.form-control 等，避免污染官方界面
     2. 由 my.css 统一提供样式，各 Views 模板不再写内嵌 <style>
     3. 色彩沿用官方 Metronic 浅色后台 + 项目品牌色
   ========================================================================== */

/* ---------- 0. 设计变量 ---------- */
:root {
    --sm-brand: #2a4d7a;          /* 品牌主色 */
    --sm-brand-dark: #1f3a5f;     /* 品牌深 */
    --sm-brand-deep: #16293f;     /* 品牌最深 */
    --sm-brand-soft: #eef4fa;     /* 品牌浅底 */
    --sm-red: #c7000b;            /* 凤凰红（证书站/提醒） */
    --sm-green: #27ae60;
    --sm-orange: #f0ad4e;
    --sm-line: #e3e8ee;           /* 分割线 */
    --sm-line-strong: #d5dde5;    /* 控件边框 */
    --sm-bg-soft: #f7f9fb;        /* 浅底 */
    --sm-text: #4a5568;           /* 正文 */
    --sm-text-mute: #94a3b8;      /* 辅助文字 */
    --sm-radius: 6px;
    --sm-label-w: 120px;          /* 表单项目名称列宽（对齐基准） */
    --sm-ctl-h: 34px;             /* 控件高度 */
}

/* ==========================================================================
   1. 面板容器（.panel-default 全站仅二开在用，可安全定义）
   ========================================================================== */
.panel.panel-default {
    border: 1px solid var(--sm-line);
    border-radius: var(--sm-radius);
    background: #fff;
    margin-bottom: 20px;
    box-shadow: 0 1px 3px rgba(16, 42, 67, .05);
    overflow: hidden;
}
.panel.panel-default > .panel-heading {
    border-bottom: 1px solid var(--sm-line);
    border-radius: 0;
}
.panel.panel-default > .panel-body { padding: 18px 20px; }

/* 品牌渐变面板头 */
.sm-panel-head {
    background: linear-gradient(135deg, var(--sm-brand) 0%, var(--sm-brand-dark) 55%, var(--sm-brand-deep) 100%) !important;
    color: #fff !important;
    border: none !important;
    border-radius: var(--sm-radius) var(--sm-radius) 0 0 !important;
    padding: 13px 18px !important;
    box-shadow: 0 2px 10px rgba(30, 95, 133, .16);
}
.sm-panel-head .panel-title {
    margin: 0;
    font-size: 15px;
    font-weight: 600;
    line-height: 24px;
    letter-spacing: .5px;
    display: flex;
    align-items: center;
    color: #fff;
}
.sm-panel-head .panel-title > i { margin-right: 9px; font-size: 17px; opacity: .95; }
.sm-panel-head .panel-title .btn { margin-left: auto; }
.sm-panel-head .badge {
    background: rgba(255, 255, 255, .24);
    color: #fff;
    font-weight: 400;
    margin-left: 8px;
}

/* ==========================================================================
   2. 搜索栏
   ========================================================================== */
/* 搜索区（新写法 sm-search-bar）：flex 一行排列，自动换行 */
.sm-search-bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 14px;
    background: var(--sm-bg-soft);
    border: 1px solid var(--sm-line);
    border-radius: var(--sm-radius);
    padding: 12px 14px;
    margin-bottom: 16px;
}
.sm-search-item { display: inline-flex; align-items: center; gap: 6px; }
.sm-search-label {
    color: #64748b;
    font-size: 13px;
    white-space: nowrap;
    font-weight: 500;
}
.sm-search-input { width: 240px; }
.sm-search-bar select.form-control { width: 132px; display: inline-block; }
.sm-search-bar input.form-control { display: inline-block; }
.sm-search-bar .btn { white-space: nowrap; }
.sm-search-actions { margin-left: auto; display: inline-flex; gap: 8px; }

/* 搜索区（旧写法 form-inline + sm-search 轻改造）：
   仅加类名即可，控件固定宽度，select 不再被最长选项撑宽。
   注意：官方精简版 CSS 没有 .form-inline 布局规则（form-group 默认 block 竖排），
   必须在此补 display:inline-block 才能横向排列 */
.sm-search .form-group {
    display: inline-block !important;
    margin-right: 10px;
    margin-bottom: 0;
    vertical-align: middle;
}
.sm-search select.form-control {
    width: 150px;
    display: inline-block;
    vertical-align: middle;
}
.sm-search input.form-control {
    width: 200px;
    display: inline-block;
    vertical-align: middle;
}
.sm-search .btn,
.sm-search .text-muted { vertical-align: middle; margin-right: 4px; }
@media (max-width: 575px) {
    .sm-search select.form-control,
    .sm-search input.form-control { width: 100%; margin-bottom: 6px; }
}

/* ==========================================================================
   3. 数据卡片 / 统计数字
   ========================================================================== */
.sm-num-card {
    display: block;
    text-decoration: none !important;
    background: #fff;
    border: 1px solid var(--sm-line);
    border-radius: var(--sm-radius);
    padding: 14px 12px;
    margin-bottom: 20px;
    text-align: center;
    transition: border-color .2s, box-shadow .2s, transform .2s;
}
a.sm-num-card:hover {
    border-color: #b9d0e2;
    box-shadow: 0 4px 14px rgba(30, 95, 133, .12);
    transform: translateY(-2px);
}
.sm-num-card .num {
    font-size: 24px;
    font-weight: 700;
    line-height: 1.2;
    color: var(--sm-brand);
    word-break: break-all;
}
.sm-num-card .num.red { color: #d9534f; }
.sm-num-card .num.orange { color: var(--sm-orange); }
.sm-num-card .label {
    display: block;
    margin-top: 6px;
    font-size: 12.5px;
    color: #7b8794;
    font-weight: 400;
    padding: 0;
    border-radius: 0;
    background: none;
    text-align: center;
    white-space: normal;
}

.sm-sum-card {
    border: 1px solid var(--sm-line);
    border-radius: var(--sm-radius);
    padding: 16px;
    text-align: center;
    margin-bottom: 18px;
    background: #fff;
}
.sm-sum-card .num { font-size: 26px; font-weight: 700; color: var(--sm-red); }
.sm-sum-card .label {
    display: block;
    font-size: 13px;
    color: #999;
    margin-top: 4px;
    padding: 0;
    background: none;
    border-radius: 0;
}

/* ==========================================================================
   4. 表格
   ========================================================================== */
.sm-table-wrap {
    border: 1px solid var(--sm-line);
    border-radius: var(--sm-radius);
    overflow-x: auto;
    background: #fff;
}
.sm-table-wrap table { margin-bottom: 0 !important; }
.sm-table-wrap thead th {
    background: #f2f5f8;
    color: var(--sm-text);
    font-weight: 600;
    font-size: 12.5px;
    border-bottom: 2px solid #dde3ea !important;
    white-space: nowrap;
    vertical-align: middle;
}
.sm-table-wrap tbody td {
    vertical-align: middle;
    font-size: 13px;
    word-break: break-word;
}
.sm-table-wrap tbody tr:hover td { background: #f6fafe; }
.sm-table-wrap tbody tr.active td { background: #eef6fc; }

/* 单元格超长文本单行截断 */
.sm-ellipsis {
    display: inline-block;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    vertical-align: middle;
}

/* 列表内的名称链接 */
.sm-name-link {
    color: var(--sm-brand-dark);
    font-weight: 600;
    text-decoration: none;
}
.sm-name-link:hover { color: var(--sm-brand-deep); text-decoration: underline; }

/* 行业小标签 */
.sm-industry {
    display: inline-block;
    background: #eef3f8;
    color: #5b7a96;
    border-radius: 3px;
    font-size: 11px;
    padding: 1px 7px;
    margin-top: 3px;
    line-height: 18px;
}

/* 组织类型标签 */
.sm-type-tag,
.sm-tag {
    display: inline-block;
    border-radius: 3px;
    font-size: 11.5px;
    padding: 2px 8px;
    color: #fff;
    white-space: nowrap;
    line-height: 17px;
    background: #95a5a6;
}
.sm-type-商会 { background: var(--sm-brand); }
.sm-type-协会 { background: #5cb85c; }
.sm-type-联合会 { background: var(--sm-orange); }
.sm-type-促进会 { background: #9b59b6; }
.sm-type-基金会 { background: #e67e22; }
.sm-type-工商联 { background: #d9534f; }
.sm-type-贸促会 { background: #16a085; }
.sm-type-学会 { background: #3498db; }
.sm-type-研究会 { background: #34495e; }
.sm-type-商会联合会 { background: var(--sm-brand-deep); }
.sm-type-default { background: #95a5a6; }

/* 方形图标操作按钮 */
.sm-btn-op {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    padding: 0 !important;
    border-radius: 4px;
    line-height: 1;
}

/* ==========================================================================
   5. 空状态
   ========================================================================== */
.sm-empty,
.sm-uc-empty {
    padding: 50px 0 !important;
    text-align: center;
    color: #9aa5b1 !important;
    font-size: 13px;
}
.sm-empty > i,
.sm-uc-empty > i {
    font-size: 42px;
    display: block;
    margin-bottom: 10px;
    color: #cbd5e0;
}

/* ==========================================================================
   6. 分页（官方输出裸 a/strong + li.input-page，无 ul.pagination 容器）
   ========================================================================== */
.sm-pagination {
    text-align: center;
    margin-top: 18px;
    padding-top: 14px;
    border-top: 1px solid #f0f2f5;
    font-size: 0;
}
.sm-pagination a,
.sm-pagination strong {
    display: inline-block;
    min-width: 32px;
    padding: 5px 11px;
    margin: 0 3px;
    font-size: 13px;
    font-weight: 400;
    color: var(--sm-text);
    background: #fff;
    border: 1px solid var(--sm-line-strong);
    border-radius: 4px;
    text-decoration: none;
    line-height: 1.5;
    box-sizing: border-box;
}
.sm-pagination a:hover {
    color: var(--sm-brand-dark);
    border-color: var(--sm-brand);
    background: #f4f9fd;
}
.sm-pagination strong {
    background: var(--sm-brand);
    border-color: var(--sm-brand);
    color: #fff;
}
.sm-pagination .input-page {
    display: inline-block;
    margin-left: 8px;
    vertical-align: middle;
    list-style: none;
    font-size: 13px;
}
.sm-pagination .input-page .input-group {
    display: inline-flex;
    align-items: center;
}
.sm-pagination .input-page input.form-control {
    width: 58px;
    height: 32px;
    padding: 3px 8px;
    border: 1px solid var(--sm-line-strong);
    border-right: none;
    border-radius: 4px 0 0 4px;
    text-align: center;
    font-size: 13px;
    outline: none;
    box-shadow: none;
    margin-bottom: 0;
}
.sm-pagination .input-page input.form-control:focus { border-color: var(--sm-brand); }
.sm-pagination .input-page .input-group-btn { display: inline-block; }
.sm-pagination .input-page .input-group-btn .btn {
    height: 32px;
    padding: 4px 12px;
    border: 1px solid var(--sm-brand);
    border-radius: 0 4px 4px 0;
    background: var(--sm-brand);
    color: #fff;
    font-size: 13px;
}
.sm-pagination .input-page .input-group-btn .btn:hover {
    background: var(--sm-brand-dark);
    border-color: var(--sm-brand-dark);
}

/* ==========================================================================
   7. Tab 导航
   ========================================================================== */
.sm-tabs {
    border-bottom: 2px solid #e8edf2;
    margin-bottom: 18px;
}
.sm-tabs > li > a {
    position: relative;
    color: #64748b;
    font-weight: 500;
    font-size: 13px;
    border: none;
    background: transparent;
    padding: 11px 22px;
    margin-bottom: -2px;
    transition: color .2s;
}
.sm-tabs > li > a::after {
    content: '';
    position: absolute;
    left: 50%;
    bottom: -2px;
    width: 0;
    height: 3px;
    background: var(--sm-brand);
    border-radius: 3px 3px 0 0;
    transform: translateX(-50%);
    transition: width .25s ease;
}
.sm-tabs > li > a:hover { color: var(--sm-brand-dark); background: transparent; }
.sm-tabs > li > a:hover::after { width: 60%; }
.sm-tabs > li.active > a,
.sm-tabs > li.active > a:hover,
.sm-tabs > li.active > a:focus {
    color: var(--sm-brand-dark);
    background: transparent;
    border: none;
    font-weight: 700;
}
.sm-tabs > li.active > a::after { width: 100%; }
.sm-form .tab-pane,
.sm-tab-pad { padding-top: 6px; }

/* ==========================================================================
   8. 表单 - 基础
   ========================================================================== */
.sm-form .control-label {
    color: var(--sm-text);
    font-weight: 600;
    font-size: 13px;
}
.sm-form .form-control {
    height: var(--sm-ctl-h);
    padding: 6px 10px;
    border: 1px solid var(--sm-line-strong);
    border-radius: 4px;
    box-shadow: none;
    color: #334155;
    font-size: 13px;
    transition: border-color .2s, box-shadow .2s;
}
.sm-form .form-control:hover:not(:focus) { border-color: #b9cad8; }
.sm-form .form-control:focus {
    border-color: var(--sm-brand);
    box-shadow: 0 0 0 3px rgba(60, 141, 188, .14);
    background: #fff;
}
.sm-form select.form-control {
    cursor: pointer;
    appearance: auto;
    -webkit-appearance: auto;
    -moz-appearance: auto;
    background-image: none !important;
    padding-right: 10px;
}
.sm-form textarea.form-control {
    height: auto;
    min-height: 88px;
    line-height: 1.6;
    resize: vertical;
}
.sm-form .form-control::placeholder { color: #b0bcc8; }
.sm-form .form-control::-webkit-input-placeholder { color: #b0bcc8; }
.sm-form .form-control:-moz-placeholder { color: #b0bcc8; }
.sm-form .required { color: #e74c3c; font-weight: 700; font-size: 14px; vertical-align: -1px; }
.sm-form .help-block { color: var(--sm-text-mute); font-size: 12px; margin-bottom: 0; }
.sm-form .form-group { margin-bottom: 16px; }

/* 日期控件：input 与按钮圆角衔接 */
.sm-form .sm-date .input-group .form-control { border-radius: 4px 0 0 4px; }
.sm-form .sm-date .input-group-btn .btn {
    border-radius: 0 4px 4px 0;
    background: #f2f7fb;
    border-color: var(--sm-line-strong);
    color: var(--sm-brand);
}
.sm-form .sm-date .input-group-btn .btn:hover {
    background: var(--sm-brand);
    border-color: var(--sm-brand);
    color: #fff;
}
.sm-form .input-group-btn { vertical-align: middle; }

/* 上传控件 */
.sm-form .fileinput-button {
    color: #fff !important;
    background: linear-gradient(135deg, var(--sm-brand), var(--sm-brand-dark)) !important;
    border: none !important;
    box-shadow: 0 2px 6px rgba(43, 108, 143, .26);
}
.sm-form .fileinput-button:hover {
    background: linear-gradient(135deg, var(--sm-brand-dark), var(--sm-brand-deep)) !important;
}
.sm-form .img-preview {
    max-height: 80px;
    margin-top: 8px;
    border: 1px solid var(--sm-line);
    border-radius: var(--sm-radius);
    padding: 4px;
    background: #fbfcfd;
}

/* 底部操作条 */
.sm-form-actions {
    background: linear-gradient(180deg, #fbfcfe, #f3f7fa);
    border: 1px solid #e5ebf1;
    border-radius: var(--sm-radius);
    padding: 14px 18px;
    margin-top: 18px;
}
.sm-form-actions .btn {
    min-width: 96px;
    border-radius: 4px;
    padding: 7px 20px;
    font-weight: 600;
    transition: all .2s;
}
.sm-form-actions .btn-primary {
    background: linear-gradient(135deg, var(--sm-brand), var(--sm-brand-deep));
    border: none;
    box-shadow: 0 3px 10px rgba(43, 108, 143, .3);
}
.sm-form-actions .btn-primary:hover { transform: translateY(-1px); }
.sm-form-actions .btn-default { border-color: var(--sm-line-strong); color: #4a6a80; }
.sm-form-actions .btn-default:hover { background: #fff; border-color: var(--sm-brand); color: var(--sm-brand-dark); }
.sm-form-actions .btn:active { transform: translateY(1px); }

/* 分组卡片（member_add 等传统两列布局） */
.sm-card {
    border: 1px solid var(--sm-line);
    border-radius: var(--sm-radius);
    margin-bottom: 16px;
    overflow: hidden;
}
.sm-card-title {
    background: var(--sm-bg-soft);
    border-bottom: 1px solid var(--sm-line);
    padding: 9px 14px;
    font-size: 13.5px;
    font-weight: 700;
    color: var(--sm-brand-dark);
}
.sm-card-body { padding: 16px 14px 2px; }

/* 单列表单项（会员中心/申请页） */
.sm-form-item { margin-bottom: 16px; }
.sm-form-item > label {
    display: block;
    font-size: 13px;
    color: #5a6b7b;
    font-weight: 600;
    margin-bottom: 6px;
}
.sm-form-item .form-control {
    width: 100%;
    height: 40px;
    border: 1px solid #dde3ea;
    border-radius: 4px;
    padding: 8px 12px;
    box-sizing: border-box;
}
.sm-form-item textarea.form-control { height: auto; min-height: 88px; }

/* ==========================================================================
   9. 表单 - 单元格网格（项目名称与 input 严格对齐）
   结构：.sm-form-grid > .sm-field > (label.sm-field-label + .sm-field-ctl)
   - 行 = 2 个字段；每个字段内部再拆「标签列 + 控件列」
   - 标签列宽统一 var(--sm-label-w)，因此所有行的标签右边缘、
     所有控件的左边缘都落在同一条竖线上
   ========================================================================== */
.sm-form-grid {
    display: grid !important;
    /* 每行 3 个字段；每个字段内部再拆「标签列 + 控件列」，
       所以视觉上是 6 列。改列数只需改这里的 repeat(N, ...) */
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    column-gap: 20px !important;
    row-gap: 14px !important;
    margin: 0 0 14px !important;
    align-items: start;
}
/* 清除 Bootstrap .form-group 的 clearfix 伪元素（grid 下会占位） */
.sm-form-grid::before,
.sm-form-grid::after { display: none !important; content: none !important; }

.sm-field {
    display: grid !important;
    grid-template-columns: var(--sm-label-w) minmax(0, 1fr) !important;
    column-gap: 10px !important;
    align-items: center !important;
    min-width: 0 !important;
}
.sm-field.sm-field-full { grid-column: 1 / -1 !important; }
.sm-field.sm-field-top { align-items: start !important; }

.sm-field > .sm-field-label,
.sm-field > .control-label {
    grid-column: 1;
    text-align: right !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    color: var(--sm-text) !important;
    white-space: nowrap;
    margin: 0 !important;
    padding: 0 !important;
    line-height: var(--sm-ctl-h) !important;
}
.sm-field.sm-field-top > .sm-field-label,
.sm-field.sm-field-top > .control-label { line-height: 22px !important; padding-top: 6px !important; }
.sm-field-label .required { margin-left: 2px; }

.sm-field > .sm-field-ctl {
    grid-column: 2;
    min-width: 0;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}
.sm-field-ctl > .form-control,
.sm-field-ctl > select { flex: 1 1 0; min-width: 0; }
.sm-field-ctl > textarea.form-control { flex: 1 1 100%; }
/* 控件直接作为标签兄弟节点时（未包 .sm-field-ctl） */
.sm-field > .form-control,
.sm-field > select,
.sm-field > textarea,
.sm-field > .input-group,
.sm-field > .sm-inline-content { grid-column: 2; min-width: 0; }

.sm-field .form-control,
.sm-field select.form-control {
    height: var(--sm-ctl-h) !important;
    margin-bottom: 0 !important;
    width: 100%;
}
.sm-field textarea.form-control {
    height: auto !important;
    min-height: 88px !important;
    line-height: 1.6;
    max-width: none;          /* 多行文本占满整列 */
}
.sm-field .help-block { flex-basis: 100%; margin: 2px 0 0; font-size: 12px; }

/* ---- 控件宽度上限：不撑满整列，取适合宽度 ----
   3 列布局下每列控件区约 310px，故 input 取 260（留约 50px 余量）；
   整行字段（sm-field-full）单独放宽。改列数时同步调整这四个值 */
.sm-field input.form-control    { max-width: 260px; }
.sm-field select.form-control   { max-width: 150px; }
.sm-field.sm-field-full input.form-control  { max-width: 480px; }
.sm-field.sm-field-full select.form-control { max-width: 220px; }

/* 日期控件：input + 按钮同一行 */
.sm-field .input-group {
    display: flex !important;
    flex-wrap: nowrap !important;
    width: 100%;
    max-width: 200px;
}
.sm-field.sm-field-full .input-group { max-width: 260px; }
.sm-field .input-group .form-control {
    flex: 1 1 0;
    min-width: 0;
    width: auto !important;
    border-radius: 4px 0 0 4px;
}
.sm-field .input-group-btn {
    flex: 0 0 auto;
    display: flex;
    width: auto;
}
.sm-field .input-group-btn .btn {
    height: var(--sm-ctl-h) !important;
    padding: 6px 11px;
    border-radius: 0 4px 4px 0;
    margin-left: -1px;
}

/* 通用内容容器（checkbox 组 / 上传 / 复合控件） */
.sm-inline-content {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 8px !important;
    min-width: 0 !important;
    flex: 1 1 0;
}
.sm-inline-content .checkbox-inline {
    margin: 0 !important;
    padding: 5px 14px;
    background: #fff;
    border: 1px solid #d8e4ee;
    border-radius: 20px;
    color: #4a6a80;
    font-size: 12.5px;
    font-weight: 500;
    cursor: pointer;
    user-select: none;
    transition: all .2s;
    line-height: 1.4;
}
.sm-inline-content .checkbox-inline:hover { border-color: var(--sm-brand); color: var(--sm-brand-dark); background: #eef6fc; }
.sm-inline-content .checkbox-inline:focus-within { border-color: var(--sm-brand); box-shadow: 0 0 0 2px rgba(60, 141, 188, .15); }
.sm-inline-content .checkbox-inline input { margin-right: 5px; margin-top: 0; accent-color: var(--sm-brand); }
.sm-inline-content .checkbox-inline:has(input:checked) {
    background: var(--sm-brand);
    border-color: var(--sm-brand);
    color: #fff;
}
.sm-inline-content .help-block { flex-basis: 100%; }

/* 上传组件：输入框 + 预览纵向排列 */
.sm-inline-content.sm-upload {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 6px !important;
    max-width: 380px;
}
.sm-inline-content.sm-upload .input-group { max-width: none; }
.sm-inline-content.sm-upload .img-preview { margin-top: 0; align-self: flex-start; max-height: 80px; }

/* 省市区三联动：整体限宽，三个下拉等分（每个约 166px） */
.sm-field #sm_region_wrap.row,
.sm-field .sm-region.row {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 10px !important;
    margin: 0 !important;
    flex: 1 1 0;
    min-width: 0;
    max-width: 520px;
}
.sm-field #sm_region_wrap .col-md-4,
.sm-field .sm-region .col-md-4 {
    flex: 1 1 0 !important;
    width: auto !important;
    float: none !important;
    padding: 0 !important;
}
/* 省市区三个下拉自适应等分，不受 select 宽度上限约束 */
.sm-field #sm_region_wrap select.form-control,
.sm-field .sm-region select.form-control { max-width: none; }

/* 广告（多条）行式布局
   ★ 不要复用 .sm-upload（那是「单图上传」语义：纵向 + max-width:380px）
     广告是「N 行 = 图片组 + URL + 删除」的表格型结构，必须吃满控件列宽度 */
.sm-inline-content.sm-ad-wrap {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 6px !important;
    max-width: 100% !important;
    width: 100%;
}
.sm-ad-row {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
}
/* ★ 必须带 .sm-field.sm-field-full 前缀（权重 0,4,0）才能压过
   my.css:658 `.sm-field.sm-field-full .input-group{max-width:260px}`
   —— 否则图片组被锁 260px，URL 框只剩约 20px 而「视觉消失」 */
.sm-field .sm-ad-row .input-group,
.sm-field.sm-field-full .sm-ad-row .input-group {
    display: flex !important;
    flex-wrap: nowrap !important;
    flex: 0 0 auto;
    width: 400px;          /* 图片地址可手工粘贴，留足可视宽度 */
    max-width: 100%;
    min-width: 0;
}
.sm-field .sm-ad-row .input-group .form-control {
    flex: 1 1 0;
    min-width: 0;
    width: auto !important;
}
.sm-field .sm-ad-row .input-group .input-group-btn {
    flex: 0 0 auto;
    display: flex;
    width: auto;
}
/* URL 框吃掉整行剩余宽度（同样需 .sm-field.sm-field-full 前缀压过 480px 上限） */
.sm-ad-row > input.form-control,
.sm-field.sm-field-full .sm-ad-row > input.form-control {
    flex: 1 1 220px;
    min-width: 160px;
    max-width: none;
}
.sm-ad-row .sm-ad-del { flex: 0 0 auto; height: var(--sm-ctl-h); padding: 5px 12px; }
.sm-ad-row + .sm-ad-row { margin-top: 6px; }
/* 「添加广告」不随纵向 flex 拉伸 */
.sm-inline-content.sm-ad-wrap > #sm_ad_add { align-self: flex-start; }

/* 窄屏降级：3 列 → 2 列 → 1 列（后台内容区 = 窗口宽 - 侧栏，
   1440 屏实际可用约 1150，需降到 2 列才不挤） */
@media (max-width: 1365px) {
    .sm-form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 991px) {
    .sm-form-grid { grid-template-columns: minmax(0, 1fr) !important; }
    .sm-field.sm-field-full { grid-column: auto !important; }
    .sm-field { grid-template-columns: 100px minmax(0, 1fr) !important; }
}
@media (max-width: 575px) {
    .sm-field {
        grid-template-columns: minmax(0, 1fr) !important;
        row-gap: 4px;
    }
    .sm-field > .sm-field-label,
    .sm-field > .control-label {
        text-align: left !important;
        line-height: 1.5 !important;
        padding-top: 0 !important;
    }
    .sm-field > .sm-field-ctl,
    .sm-field > .form-control,
    .sm-field > .input-group,
    .sm-field > .sm-inline-content { grid-column: 1 !important; }
}

/* 兼容旧命名（.sm-inline-row / .sm-span-2 / .sm-span-4） */
.sm-inline-row {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: 26px !important;
    row-gap: 14px !important;
    margin: 0 0 14px !important;
}
.sm-inline-row::before,
.sm-inline-row::after { display: none !important; content: none !important; }
.sm-inline-item {
    display: grid !important;
    grid-template-columns: var(--sm-label-w) minmax(0, 1fr) !important;
    column-gap: 10px !important;
    align-items: center !important;
    min-width: 0 !important;
}
.sm-inline-item.sm-span-2 { grid-column: span 1 !important; }
.sm-inline-item.sm-span-4 { grid-column: 1 / -1 !important; }
.sm-inline-item.sm-top { align-items: start !important; }
.sm-inline-item.sm-top > .control-label { line-height: 22px !important; padding-top: 6px !important; }
.sm-inline-item > .control-label {
    text-align: right !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    color: var(--sm-text) !important;
    white-space: nowrap;
    margin: 0 !important;
    padding: 0 !important;
    line-height: var(--sm-ctl-h) !important;
    float: none;
}
.sm-inline-item > .form-control,
.sm-inline-item > select,
.sm-inline-item > textarea,
.sm-inline-item > .input-group,
.sm-inline-item > .sm-inline-content { min-width: 0; width: 100%; }
.sm-inline-item textarea.form-control { height: auto !important; min-height: 88px; }

/* ==========================================================================
   10. 图表（横向条形）
   ========================================================================== */
.sm-bar-wrap { padding: 2px 0; }
.sm-bar-row {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 8px;
    font-size: 13px;
}
.sm-bar-row:last-child { margin-bottom: 0; }
.sm-bar-name {
    flex: 0 0 92px;
    color: var(--sm-text);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.sm-bar-track {
    flex: 1 1 auto;
    height: 16px;
    background: #eef2f6;
    border-radius: 8px;
    overflow: hidden;
    min-width: 60px;
}
.sm-bar-fill {
    height: 100%;
    background: linear-gradient(90deg, #3c8dbc, var(--sm-brand));
    border-radius: 8px;
    transition: width .4s ease;
}
.sm-bar-num {
    flex: 0 0 auto;
    min-width: 56px;
    text-align: right;
    font-weight: 600;
    color: var(--sm-brand-dark);
    font-variant-numeric: tabular-nums;
}

/* ==========================================================================
   11. 会员中心 / 前台用户页容器
   ========================================================================== */
.sm-uc-wrap {
    max-width: 900px;
    margin: 24px auto;
    padding: 0 15px;
}
.sm-uc-title {
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 18px;
    padding-bottom: 12px;
    border-bottom: 2px solid #f0f0f0;
    color: #2c3e50;
}
.sm-uc-title .btn { float: right; margin-top: 2px; }
.sm-uc-title::after { content: ''; display: block; clear: both; }

.sm-uc-tabs { display: flex; gap: 8px; margin-bottom: 16px; flex-wrap: wrap; }
.sm-uc-tab {
    padding: 7px 16px;
    border: 1px solid #e0e4e8;
    border-radius: 20px;
    font-size: 13px;
    cursor: pointer;
    color: #666;
    background: #fff;
    text-decoration: none;
    transition: all .2s;
}
.sm-uc-tab:hover { border-color: var(--sm-red); color: var(--sm-red); }
.sm-uc-tab.active { background: var(--sm-red); border-color: var(--sm-red); color: #fff; }

.sm-uc-card {
    border: 1px solid #e5e8ec;
    border-radius: var(--sm-radius);
    padding: 18px;
    margin-bottom: 14px;
    display: flex;
    gap: 16px;
    background: #fff;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .04);
}
.sm-uc-card .logo {
    width: 72px;
    height: 72px;
    border-radius: 8px;
    overflow: hidden;
    flex: 0 0 72px;
    background: #f4f6f8;
}
.sm-uc-card .logo img { width: 100%; height: 100%; object-fit: contain; }
.sm-uc-card .info { flex: 1; min-width: 0; }
.sm-uc-card .info h4 { margin: 0 0 6px; font-size: 16px; }
.sm-uc-card .tags { margin-top: 8px; }
.sm-uc-badge {
    display: inline-block;
    border-radius: 3px;
    font-size: 12px;
    padding: 2px 8px;
    color: #fff;
    margin-right: 6px;
    background: #95a5a6;
}
.sm-uc-line { color: #666; font-size: 13px; margin-top: 4px; }

/* 列表项卡片（活动 / 通知 / 诉求 / 走访） */
.sm-act-item,
.sm-notice-item,
.sm-need-item,
.sm-visit-item {
    border: 1px solid #e5e8ec;
    border-radius: var(--sm-radius);
    padding: 14px 16px;
    margin-bottom: 10px;
    background: #fff;
    transition: box-shadow .2s, border-color .2s;
}
.sm-act-item:hover,
.sm-notice-item:hover { border-color: #d5dde5; box-shadow: 0 2px 10px rgba(16, 42, 67, .07); }
.sm-notice-item { cursor: pointer; }
.sm-notice-item.unread { border-left: 4px solid var(--sm-red); }
.sm-act-item .t,
.sm-notice-item .t { font-size: 15px; font-weight: 600; }
.sm-need-item .t,
.sm-visit-item .t { font-size: 14px; font-weight: 600; }
.sm-act-item .meta,
.sm-notice-item .meta,
.sm-need-item .meta,
.sm-visit-item .meta { color: #999; font-size: 12px; margin-top: 6px; }
.sm-act-item .c,
.sm-notice-item .c,
.sm-need-item .c,
.sm-visit-item .c {
    color: #666;
    font-size: 13.5px;
    line-height: 1.8;
    margin-top: 8px;
    white-space: pre-wrap;
    word-break: break-word;
}
.sm-notice-item .dot {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--sm-red);
    margin-right: 6px;
    vertical-align: middle;
}
.sm-act-badge {
    display: inline-block;
    border-radius: 3px;
    font-size: 12px;
    padding: 2px 8px;
    color: #fff;
    margin-left: 6px;
    vertical-align: 2px;
    background: #95a5a6;
}

/* 诉求提交表单 */
.sm-need-form {
    border: 1px solid #e5e8ec;
    border-radius: var(--sm-radius);
    padding: 18px;
    background: #fafbfc;
    margin-bottom: 20px;
}

/* ==========================================================================
   12. 会员档案
   ========================================================================== */
.sm-archive-card {
    border: 1px solid #e5e8ec;
    border-radius: var(--sm-radius);
    padding: 24px;
    background: #fff;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .04);
}
.sm-archive-head {
    display: flex;
    align-items: center;
    gap: 16px;
    border-bottom: 1px solid #f0f0f0;
    padding-bottom: 18px;
    margin-bottom: 18px;
}
.sm-archive-head img {
    width: 64px;
    height: 64px;
    border-radius: 8px;
    object-fit: contain;
    background: #f4f6f8;
}
.sm-archive-head h3 { margin: 0; font-size: 18px; }
.sm-archive-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px 24px;
}
.sm-archive-item { font-size: 14px; }
.sm-archive-item label {
    color: #999;
    display: block;
    font-size: 12px;
    margin-bottom: 2px;
    font-weight: 400;
}
.sm-archive-item b { font-weight: 600; }
.sm-archive-cert {
    margin-top: 20px;
    padding: 14px;
    background: #faf6ec;
    border: 1px dashed #e4d9b8;
    border-radius: var(--sm-radius);
    font-size: 13px;
    color: #8a6d3b;
}

/* ==========================================================================
   13. 商协会卡片（商会选择页）
   ========================================================================== */
.sm-chamber-wrap { max-width: 1060px; margin: 24px auto; padding: 0 15px; }
.sm-chamber-title {
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 18px;
    padding-bottom: 12px;
    border-bottom: 2px solid #f0f0f0;
}
.sm-chamber-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}
.sm-chamber-card {
    border: 1px solid #e5e8ec;
    border-radius: var(--sm-radius);
    padding: 18px;
    background: #fff;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .04);
    display: flex;
    flex-direction: column;
    transition: box-shadow .2s, transform .2s;
}
.sm-chamber-card:hover { box-shadow: 0 6px 18px rgba(16, 42, 67, .12); transform: translateY(-2px); }
.sm-chamber-card .logo {
    width: 64px;
    height: 64px;
    border-radius: 8px;
    overflow: hidden;
    background: #f4f6f8;
    margin-bottom: 12px;
}
.sm-chamber-card .logo img { width: 100%; height: 100%; object-fit: contain; }
.sm-chamber-card h4 { margin: 0 0 8px; font-size: 16px; }
.sm-chamber-card .desc {
    color: #777;
    font-size: 13px;
    line-height: 1.7;
    min-height: 44px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.sm-chamber-card .meta {
    margin-top: 12px;
    font-size: 13px;
    color: #999;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.sm-chamber-card .btns { margin-top: 14px; display: flex; gap: 8px; }
.sm-chamber-card .btns .btn { flex: 1; }

/* ==========================================================================
   14. 会员申请
   ========================================================================== */
.sm-apply-wrap { max-width: 720px; margin: 24px auto; padding: 0 15px; }
.sm-apply-title {
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 18px;
    padding-bottom: 12px;
    border-bottom: 2px solid #f0f0f0;
}
.sm-apply-card {
    border: 1px solid #e5e8ec;
    border-radius: var(--sm-radius);
    padding: 20px;
    background: #fff;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .04);
}
.sm-apply-step { color: #999; font-size: 13px; margin-bottom: 14px; }
.sm-fee-tip {
    display: inline-block;
    background: #fff7e6;
    color: #d48806;
    border: 1px solid #ffd591;
    border-radius: 4px;
    padding: 4px 10px;
    font-size: 13px;
    margin-top: 6px;
}
.sm-locked-banner {
    background: #eef6fd;
    border: 1px solid #cfe4f2;
    color: var(--sm-brand-dark);
    border-radius: var(--sm-radius);
    padding: 12px 16px;
    margin-bottom: 16px;
    font-size: 14px;
}

/* ==========================================================================
   15. 会员证 / 核验
   ========================================================================== */
.sm-cert-wrap { max-width: 860px; margin: 24px auto; padding: 0 15px; }
.sm-cert-title {
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 18px;
    padding-bottom: 12px;
    border-bottom: 2px solid #f0f0f0;
    text-align: center;
}
.sm-cert-search {
    background: var(--sm-bg-soft);
    border: 1px solid var(--sm-line);
    border-radius: var(--sm-radius);
    padding: 20px;
    margin-bottom: 20px;
}
.sm-cert-search h5 { margin: 0 0 12px; font-size: 15px; }
.sm-cert-box {
    border: 1px solid #e5e8ec;
    border-radius: var(--sm-radius);
    padding: 20px;
    margin-bottom: 20px;
    background: #fff;
}
.sm-cert-result {
    border-left: 4px solid var(--sm-red);
    padding: 14px 16px;
    background: #fdf6f6;
    border-radius: 0 var(--sm-radius) var(--sm-radius) 0;
    margin-top: 14px;
}
.sm-cert-result.valid { border-left-color: var(--sm-green); background: #f0faf4; }
.sm-cert-result.expired { border-left-color: #f39c12; background: #fffaf0; }
.sm-cert-table { width: 100%; font-size: 14px; }
.sm-cert-table td { padding: 8px 10px; }
.sm-cert-table td:first-child { color: #888; width: 120px; }
.sm-roster-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 4px;
    border-bottom: 1px dashed #eee;
    font-size: 14px;
}
.sm-roster-item:last-child { border-bottom: none; }
.sm-verify-badge {
    display: inline-block;
    background: #1a7f37;
    color: #fff;
    border-radius: 3px;
    font-size: 11px;
    padding: 1px 6px;
    margin-left: 6px;
}

/* 会员证正本 */
.sm-cert-page { max-width: 760px; margin: 28px auto; padding: 0 15px; }
.sm-cert-sheet {
    border: 3px double #c9a227;
    border-radius: 10px;
    padding: 34px 40px;
    background: linear-gradient(180deg, #fffdf6, #fdf9ec);
    position: relative;
    box-shadow: 0 4px 16px rgba(0, 0, 0, .06);
}
.sm-cert-sheet::before {
    content: '';
    position: absolute;
    left: 10px; right: 10px; top: 10px; bottom: 10px;
    border: 1px solid #eedfc0;
    border-radius: 6px;
    pointer-events: none;
}
.sm-cert-head { text-align: center; margin-bottom: 20px; }
.sm-cert-head .org { font-size: 15px; color: #8a6d3b; letter-spacing: 2px; }
.sm-cert-head h1 {
    margin: 8px 0 4px;
    font-size: 26px;
    color: #7a4b16;
    letter-spacing: 6px;
    font-weight: 700;
}
.sm-cert-body { text-align: center; padding: 10px 0 20px; }
.sm-cert-body .name { font-size: 24px; font-weight: 700; color: #333; margin: 12px 0; }
.sm-cert-body .text { font-size: 15px; color: #555; line-height: 2; }
.sm-cert-body .no { margin-top: 14px; font-size: 14px; color: #8a6d3b; letter-spacing: 1px; }
.sm-cert-badge {
    display: inline-block;
    border: 1px solid #c9a227;
    color: #8a6d3b;
    border-radius: 20px;
    padding: 2px 16px;
    font-size: 13px;
    margin-top: 10px;
}
.sm-cert-status { text-align: center; margin-top: 14px; font-size: 15px; font-weight: 700; }
.sm-cert-footer {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-top: 24px;
}
.sm-cert-qr { text-align: center; }
.sm-cert-qr img { width: 120px; height: 120px; border: 1px solid #eee; }
.sm-cert-qr small { display: block; color: #999; font-size: 12px; margin-top: 4px; }
.sm-cert-actions { text-align: center; margin-top: 20px; }

/* ==========================================================================
   16. 其它小组件
   ========================================================================== */
.sm-global-tag {
    display: inline-block;
    background: #eef3f8;
    color: #5b7a96;
    border-radius: 3px;
    font-size: 11.5px;
    padding: 1px 7px;
    margin: 0 4px 4px 0;
    line-height: 18px;
}
.sm-global-tip { color: var(--sm-text-mute); font-size: 12px; }
.sm-rule-tag {
    display: inline-block;
    background: #eef6fc;
    border: 1px solid #cfe4f2;
    color: var(--sm-brand-dark);
    border-radius: 3px;
    font-size: 12px;
    padding: 2px 8px;
    margin: 0 4px 4px 0;
}
.sm-export-item {
    border: 1px solid var(--sm-line);
    border-radius: var(--sm-radius);
    padding: 12px 14px;
    margin-bottom: 10px;
    background: #fff;
}
.sm-info-table { background: #fff; }
.sm-info-table td:first-child { width: 140px; color: #7b8794; background: #fafbfc; }
.sm-info-table td { vertical-align: middle !important; }
/* 资料详情-区块分隔行（企业信息/法人信息） */
.sm-info-sep td {
    background: #eef2f7 !important;
    color: var(--sm-brand-dark);
    font-weight: 600;
    letter-spacing: 2px;
    text-align: center;
}
/* 资料详情-子标题（最高学历/工作经历/社会关系） */
.sm-sub-title {
    margin: 20px 0 10px;
    padding-left: 10px;
    border-left: 3px solid var(--sm-brand);
    font-size: 14px;
    font-weight: 600;
    color: var(--sm-brand-dark);
}
.sm-sub-title .fa { margin-right: 6px; color: var(--sm-brand); }
.sm-cat-income { color: var(--sm-green); }
.sm-cat-expense { color: #d9534f; }

/* ==========================================================================
   17. 商会下拉搜索（官方 bootstrap-select 插件，head.html 初始化）
       只影响 sm-chamber-select（二开商会下拉），不影响官方页面
   ========================================================================== */
/* 按钮外观：与 form-control 统一 */
/* 注意：排除 .bs-container（container:'body' 模式下的挂载容器，
   它已继承 sm-chamber-select 类，宽度由 JS 按按钮宽度 inline 设置，
   若这里用 100% 会把它撑成满屏宽） */
.sm-chamber-select.bootstrap-select:not(.bs-container) { width: 100% !important; }
.sm-chamber-select > .btn {
    height: var(--sm-ctl-h);
    padding: 5px 10px;
    font-size: 13px;
    color: #334155;
    background: #fff;
    border: 1px solid var(--sm-line-strong);
    border-radius: 4px;
    box-shadow: none;
}
.sm-chamber-select > .btn:focus,
.sm-chamber-select > .btn:active,
.sm-chamber-select.open > .btn {
    outline: none !important;
    border-color: var(--sm-brand);
    box-shadow: 0 0 0 3px rgba(60, 141, 188, .14);
}
/* 下拉菜单主体：挂载到 body 后仍要限高，避免被 iframe/小视口裁切 */
.sm-chamber-select .dropdown-menu,
.sm-chamber-select + .dropdown-menu,
body > .bs-container.sm-chamber-select .dropdown-menu {
    border: 1px solid var(--sm-line-strong);
    border-radius: 4px;
    box-shadow: 0 6px 18px rgba(16, 42, 67, .12);
    max-height: 360px !important;   /* 整个菜单最大高度（含搜索框） */
    overflow-y: auto !important;
}
/* container:'body' 模式下，菜单挂在 body>.bs-container 下，
   宽度跟随 bs-container（JS 已设为按钮宽度），不要被其他规则撑开 */
body > .bs-container.sm-chamber-select .dropdown-menu {
    width: 100%;
}
/* 选项列表区：固定 12 行左右高度，保证内部滚动 */
.sm-chamber-select .dropdown-menu .inner,
body > .bs-container.sm-chamber-select .dropdown-menu .inner {
    max-height: 300px !important;
    overflow-y: auto !important;
}
.sm-chamber-select .dropdown-menu > li > a { font-size: 13px; padding: 7px 12px; }
.sm-chamber-select .dropdown-menu > li.selected > a { background: var(--sm-brand); color: #fff; }
.sm-chamber-select .dropdown-menu > li > a:hover { background: var(--sm-brand-soft); color: var(--sm-brand-dark); }
.sm-chamber-select .bs-searchbox { padding: 6px 8px 2px; }
.sm-chamber-select .bs-searchbox input.form-control {
    height: 32px;
    padding: 4px 10px;
    font-size: 13px;
    border-color: var(--sm-line-strong);
    border-radius: 4px;
    box-shadow: none;
}
.sm-chamber-select .bs-searchbox input.form-control:focus { border-color: var(--sm-brand); }
.sm-chamber-select .bs-no-results { font-size: 13px; color: var(--sm-text-mute); }

/* ---- 兜底修复：防止"原生框 + 插件按钮"双框重叠（2026-08-29）----
   ① 原生 select 强制隐藏：插件 CSS 只隐藏带 selectpicker class 的 select，
      若初始化回退（head.html catch 移除 class）或样式未生效，原生框会叠在按钮上。
      这里无条件隐藏 sm-chamber-select 容器内的原生 select，一劳永逸。
   ② 容器自身清掉复制来的 form-control 视觉：插件 setStyle 会把原 select 的
      class（含 form-control）复制到容器 div 上，导致容器边框 + 按钮边框变双框。 */
.sm-chamber-select > select { display: none !important; }
.sm-chamber-select.bootstrap-select.form-control {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    height: auto !important;
}

/* 场景宽度：搜索区固定宽度；申请页限宽；其余（表单栅格）100% */
.sm-search .sm-chamber-select.bootstrap-select { width: 150px !important; }
.sm-search-bar .sm-chamber-select.bootstrap-select { width: 132px !important; }
.sm-form-item .sm-chamber-select.bootstrap-select { width: 420px !important; max-width: 100%; }
.pull-right .sm-chamber-select.bootstrap-select { width: 180px !important; }

/* ==========================================================================
   18. 响应式
   ========================================================================== */
@media (max-width: 1199px) {
    .sm-chamber-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 991px) {
    .sm-archive-grid { grid-template-columns: 1fr; }
    .sm-search-actions { margin-left: 0; }
}
@media (max-width: 767px) {
    .sm-chamber-grid { grid-template-columns: minmax(0, 1fr); }
    .sm-chamber-wrap,
    .sm-uc-wrap,
    .sm-apply-wrap,
    .sm-cert-wrap,
    .sm-cert-page { margin: 12px auto; padding: 0 10px; }
    .sm-uc-title,
    .sm-chamber-title,
    .sm-apply-title,
    .sm-cert-title { font-size: 17px; }
    .sm-uc-card { flex-direction: column; gap: 10px; }
    .sm-archive-card { padding: 16px; }
    .sm-archive-head { flex-direction: column; align-items: flex-start; }
    .sm-cert-sheet { padding: 20px 12px; }
    .sm-cert-head h1 { font-size: 20px; letter-spacing: 3px; }
    .sm-cert-body .name { font-size: 20px; }
    .sm-cert-qr img { width: 96px; height: 96px; }
    .sm-cert-footer { flex-direction: column; align-items: center; gap: 10px; }
    .sm-roster-item { flex-direction: column; align-items: flex-start; gap: 6px; }
    .sm-uc-tabs { overflow-x: auto; flex-wrap: nowrap; -webkit-overflow-scrolling: touch; }
    .sm-search-input { width: 100%; }
    .sm-pagination { font-size: 0; }
}

/* 打印（会员证）：隐藏操作区 */
@media print {
    .sm-cert-actions { display: none !important; }
}

/* ===== 商会办公四功能（工单/组织/会议/大事记）补充 ===== */

/* 工单：超期行标红（整行浅红底 + 标题红字） */
.sm-list-wrap tr.sm-row-danger > td { background: #fff5f5 !important; }
.sm-list-wrap tr.sm-row-danger td a.sm-text-danger,
.sm-text-danger { color: var(--sm-phoenix, #c7000b) !important; font-weight: 600; }
.sm-text-strong { font-weight: 600; color: #1f3a5f; }

/* 工单：列表行内快速状态下拉（小号） */
.sm-zt-select {
    height: 26px !important;
    padding: 0 4px !important;
    font-size: 12px !important;
    width: 92px !important;
    display: inline-block !important;
}
