* {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }
        
        body {
            font-family: "Microsoft YaHei", "微软雅黑", Arial, sans-serif;
            background: #f5f5f5;
            padding: 20px;
            line-height: 1.8;
        }
        
        .container {
            max-width: 1200px;
            margin: 0 auto;
            background: white;
            padding: 30px;
            border-radius: 10px;
            box-shadow: 0 2px 10px rgba(0,0,0,0.1);
        }
        
        h1 {
            text-align: center;
            color: #333;
            margin-bottom: 30px;
            padding-bottom: 20px;
            border-bottom: 3px solid #1a73e8;
        }
        
        /* 分类区域样式 */
        .method-section {
            margin-bottom: 50px;
            padding: 20px;
            background: #fafafa;
            border-radius: 8px;
            border-left: 5px solid #1a73e8;
        }
        
        .method-title {
            font-size: 24px;
            color: #1a73e8;
            margin-bottom: 20px;
            padding-bottom: 10px;
            border-bottom: 2px solid #e0e0e0;
        }
        
        /* 指标卡片样式 */
        .item-card {
            background: white;
            padding: 20px;
            margin-bottom: 20px;
            border-radius: 8px;
            box-shadow: 0 2px 5px rgba(0,0,0,0.1);
            border-left: 4px solid #34a853;
        }
        
        .item-card.key-item {
            border-left-color: #ea4335;
        }
        
        .item-header {
            margin-bottom: 15px;
        }
        
        .item-id {
            display: inline-block;
            background: #1a73e8;
            color: white;
            padding: 5px 15px;
            border-radius: 20px;
            font-weight: bold;
            margin-right: 10px;
        }
        
        .item-id.key-id {
            background: #ea4335;
        }
        
        .item-name {
            font-size: 18px;
            font-weight: bold;
            color: #333;
            margin-top: 10px;
        }
        
        .item-category {
            display: inline-block;
            background: #fbbc04;
            color: white;
            padding: 3px 10px;
            border-radius: 10px;
            font-size: 12px;
            margin-top: 5px;
        }
        
        /* 内容区域样式 */
        .content-section {
            margin: 15px 0;
        }
        
        .content-title {
            font-weight: bold;
            color: #1a73e8;
            margin-bottom: 10px;
            font-size: 16px;
        }
        
        .content-text {
            color: #555;
            line-height: 1.8;
        }
        
        /* 标号颜色样式 */
        .detail-number {
            color: #e75480;  /* 深粉红 - 细则编号 */
            font-weight: bold;
        }
        
        .point-number {
            color: #1a73e8;  /* 蓝色 - 监测要点编号 */
            font-weight: bold;
        }
        
        .note-number {
            color: #ff8c00;  /* 橙色 - 注意事项编号 */
            font-weight: bold;
        }
        
        /* 评分标准样式 */
        .score-section {
            margin: 15px 0;
            padding: 15px;
            background: #fff3cd;
            border-radius: 5px;
            border-left: 4px solid #ffc107;
        }
        
        .score-title {
            font-weight: bold;
            color: #856404;
            margin-bottom: 10px;
        }
        
        .score-buttons {
            display: flex;
            flex-wrap: wrap;
            gap: 10px;
            margin-top: 10px;
        }
        
        .score-btn {
            padding: 15px;
            border: 2px solid #ffc107;
            background: white;
            color: #856404;
            border-radius: 5px;
            cursor: pointer;
            font-weight: bold;
            transition: all 0.3s;
            flex: 1;
            min-width: 200px;
            height: auto;
            text-align: left;
            white-space: normal;
            word-wrap: break-word;
            line-height: 1.6;
        }
        
        .score-btn:hover {
            background: #ffc107;
            color: white;
        }
        
        .score-btn.selected {
            background: #ffc107;
            color: white;
        }
        
        /* 机构提供样式 */
        .provide-section {
            margin: 15px 0;
            padding: 15px;
            background: #d4edda;
            border-radius: 5px;
            border-left: 4px solid #28a745;
        }
        
        .provide-title {
            font-weight: bold;
            color: #155724;
            margin-bottom: 10px;
        }
        
        .provide-text {
            color: #155724;
            line-height: 1.8;
        }
        
        /* 搜索框样式 */
        .search-box {
            display: flex;
            gap: 5px;
            margin-left: auto;
        }
        
        #searchInput {
            padding: 8px 15px;
            border: 2px solid #1a73e8;
            border-radius: 5px;
            font-size: 14px;
            width: 200px;
        }
        
        .search-box button {
            padding: 8px 20px;
            background: #1a73e8;
            color: white;
            border: none;
            border-radius: 5px;
            cursor: pointer;
            font-weight: bold;
            transition: all 0.3s;
        }
        
        .search-box button:hover {
            background: #1557b0;
        }
        
        /* 返回顶部按钮 */
        .back-to-top {
            position: fixed;
            bottom: 30px;
            right: 30px;
            background: #1a73e8;
            color: white;
            padding: 15px 20px;
            border-radius: 50px;
            text-decoration: none;
            box-shadow: 0 2px 10px rgba(0,0,0,0.3);
            transition: all 0.3s;
            z-index: 1000;
        }
        
        .back-to-top:hover {
            background: #1557b0;
            transform: translateY(-3px);
        }
        
        /* 响应式设计 */
        @media (max-width: 768px) {
            .container {
                padding: 15px;
            }
            
            .search-box {
                margin-left: 0;
                margin-top: 10px;
            }
            
            .score-buttons {
                flex-direction: column;
            }
        }
        
        /* 评分结果栏样式 */
        .score-summary {
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            background: linear-gradient(135deg, #1a73e8, #1557b0);
            color: white;
            padding: 15px 20px;
            box-shadow: 0 2px 10px rgba(0,0,0,0.3);
            z-index: 2000;
            display: none;
            justify-content: space-around;
            align-items: center;
            flex-wrap: wrap;
            gap: 15px;
        }
        
        .score-summary.show {
            display: flex;
        }
        
        .summary-item {
            text-align: center;
        }
        
        .summary-label {
            font-size: 12px;
            opacity: 0.9;
            margin-bottom: 5px;
        }
        
        .summary-value {
            font-size: 20px;
            font-weight: bold;
        }
        
        .summary-note {
            font-size: 11px;
            opacity: 0.8;
            margin-top: 3px;
        }
        
        /* 为评分结果栏留出空间 */
        body.summary-visible {
            padding-top: 120px;
        }

/* ============ 数据录入系统扩展样式（沿用原有配色 #1a73e8） ============ */
.topbar {
  display: flex; align-items: center; justify-content: space-between;
  flex-wrap: wrap; gap: 10px; margin-bottom: 20px;
  padding-bottom: 15px; border-bottom: 3px solid #1a73e8;
}
.topbar h1 { border-bottom: none; margin: 0; padding: 0; text-align: left; font-size: 24px; }
.topbar .user-info { color: #666; font-size: 14px; display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }

.btn {
  display: inline-block; padding: 8px 18px; background: #1a73e8; color: #fff;
  border: none; border-radius: 5px; cursor: pointer; font-weight: bold;
  font-size: 14px; text-decoration: none; transition: all .2s; font-family: inherit;
}
.btn:hover { background: #1557b0; }
.btn-ghost { background: #fff; color: #1a73e8; border: 1px solid #1a73e8; }
.btn-ghost:hover { background: #e8f0fe; }
.btn-danger { background: #ea4335; }
.btn-danger:hover { background: #c5221f; }
.btn-green { background: #34a853; }
.btn-green:hover { background: #2a8a44; }
.btn-sm { padding: 4px 10px; font-size: 13px; font-weight: normal; }
.btn:disabled { opacity: .6; cursor: not-allowed; }

/* 登录页 */
.login-wrap { max-width: 420px; margin: 60px auto; }
.login-card { background: #fff; padding: 40px 35px; border-radius: 10px; box-shadow: 0 2px 12px rgba(0,0,0,.12); }
.login-card h1 { font-size: 22px; margin-bottom: 8px; }
.login-card .sub { text-align: center; color: #888; font-size: 13px; margin-bottom: 25px; }
.login-card input {
  width: 100%; padding: 12px; margin-bottom: 15px; border: 2px solid #ddd;
  border-radius: 5px; font-size: 15px; font-family: inherit;
}
.login-card input:focus { border-color: #1a73e8; outline: none; }
.login-card .btn { width: 100%; padding: 12px; font-size: 16px; }
.error-msg { color: #ea4335; font-size: 14px; text-align: center; min-height: 22px; margin-bottom: 8px; }

/* 表单 */
.panel { background: #fafafa; border: 1px solid #e5e5e5; border-radius: 8px; padding: 20px; margin-bottom: 25px; }
.panel h2 { font-size: 18px; color: #1a73e8; margin-bottom: 15px; }
.form-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 12px 20px; }
.field label { display: block; font-size: 13px; color: #555; margin-bottom: 4px; font-weight: bold; }
.field label .req { color: #ea4335; }
.field input, .field select, .field textarea {
  width: 100%; padding: 8px 10px; border: 1px solid #ccc; border-radius: 5px;
  font-size: 14px; font-family: inherit; background: #fff;
}
.field input:focus, .field select:focus, .field textarea:focus { border-color: #1a73e8; outline: none; }

/* 表格 */
.data-table { width: 100%; border-collapse: collapse; background: #fff; }
.data-table th, .data-table td { padding: 10px 12px; border-bottom: 1px solid #e8e8e8; text-align: left; font-size: 14px; }
.data-table th { background: #f1f6fd; color: #1a73e8; white-space: nowrap; }
.data-table tbody tr:hover { background: #f5f9ff; cursor: pointer; }
.data-table tbody tr.no-click:hover { cursor: default; }

.badge { display: inline-block; padding: 2px 10px; border-radius: 10px; font-size: 12px; font-weight: bold; }
.badge-draft { background: #fbbc04; color: #fff; }
.badge-submitted { background: #34a853; color: #fff; }
.badge-role { background: #e8f0fe; color: #1a73e8; }
.badge-off { background: #ddd; color: #666; }

/* 条目输入区 */
.answer-section { margin-top: 15px; padding-top: 15px; border-top: 1px dashed #ddd; }
.grade-buttons { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 12px; }
.grade-btn {
  width: 52px; height: 52px; border-radius: 8px; border: 2px solid #ccc; background: #fff;
  font-size: 20px; font-weight: bold; color: #888; cursor: pointer; transition: all .15s;
}
.grade-btn:hover { border-color: #1a73e8; color: #1a73e8; transform: translateY(-2px); }
.grade-btn.sel-A { background: #34a853; border-color: #34a853; color: #fff; }
.grade-btn.sel-B { background: #1a73e8; border-color: #1a73e8; color: #fff; }
.grade-btn.sel-C { background: #fbbc04; border-color: #fbbc04; color: #fff; }
.grade-btn.sel-D { background: #ea4335; border-color: #ea4335; color: #fff; }
.grade-btn.grade-na { width: auto; padding: 0 14px; font-size: 14px; font-weight: bold; white-space: nowrap; flex-shrink: 0; }
.grade-btn.sel-NA { background: #9aa0a6; border-color: #9aa0a6; color: #fff; }
.item-card.missing { outline: 3px solid #ea4335; box-shadow: 0 0 12px rgba(234,67,53,.45); }
.note-area { width: 100%; min-height: 70px; resize: vertical; }
.saved-flag { font-size: 12px; color: #34a853; font-weight: bold; margin-left: 8px; }
.saved-flag.dirty { color: #ea4335; }

.image-uploader { margin-top: 12px; }
.thumbs { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 10px; }
.thumb { position: relative; width: 110px; height: 110px; border: 1px solid #ddd; border-radius: 6px; overflow: hidden; background: #fafafa; }
.thumb img { width: 100%; height: 100%; object-fit: cover; }
.thumb .del {
  position: absolute; top: 3px; right: 3px; width: 22px; height: 22px; border-radius: 50%;
  background: rgba(234,67,53,.9); color: #fff; border: none; cursor: pointer; font-size: 13px; line-height: 1;
}
.upload-hint { font-size: 12px; color: #999; margin-top: 5px; }

/* 浮动保存栏 */
.save-bar {
  position: fixed; bottom: 0; left: 0; right: 0; z-index: 1500;
  background: rgba(255,255,255,.97); box-shadow: 0 -2px 12px rgba(0,0,0,.15);
  padding: 12px 20px; display: flex; justify-content: center; align-items: center; gap: 15px; flex-wrap: wrap;
}
.save-bar .stat { color: #666; font-size: 14px; }
.save-bar .stat b { color: #1a73e8; }
body.has-save-bar { padding-bottom: 90px; }

.toast {
  position: fixed; top: 20px; left: 50%; transform: translateX(-50%); z-index: 3000;
  padding: 10px 25px; border-radius: 6px; color: #fff; font-size: 14px;
  box-shadow: 0 2px 10px rgba(0,0,0,.25); display: none;
}
.toast.ok { background: #34a853; }
.toast.err { background: #ea4335; }

.method-tag { display: inline-block; background: #e8f0fe; color: #1a73e8; padding: 2px 10px; border-radius: 10px; font-size: 12px; }
.empty-tip { text-align: center; color: #999; padding: 40px 0; }

.note-area {
  width: 100%; padding: 8px 10px; border: 1px solid #ccc; border-radius: 5px;
  font-size: 14px; font-family: inherit; background: #fff; box-sizing: border-box;
}
.note-area:focus { border-color: #1a73e8; outline: none; }


/* ===== 2026-07-20 新增：录入页模块筛选 + 通用隐藏 ===== */
.module-filter {
    background: #f8f9fa;
    padding: 10px 15px;
    border-radius: 8px;
    margin-bottom: 10px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    position: sticky;
    top: 0;
    z-index: 101;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}
.module-filter .mf-label { font-weight: bold; color: #5f6368; }
.module-filter button {
    padding: 8px 18px;
    background: #fff;
    color: #1a73e8;
    border: 2px solid #1a73e8;
    border-radius: 5px;
    font-weight: bold;
    cursor: pointer;
    transition: all 0.3s;
}
.module-filter button:hover { transform: translateY(-2px); box-shadow: 0 2px 5px rgba(0,0,0,0.2); }
.module-filter button.active { background: #1a73e8; color: #fff; }
.module-filter button .mf-count { font-weight: normal; font-size: 12px; }
/* 通用隐藏（导出1按钮隐藏用；恢复时移除 hidden 类即可） */
.hidden { display: none !important; }

/* ===== 2026-07-21 新增：导出选择弹窗 + 录入页实时记分栏配套 ===== */
.modal-mask {
  position: fixed; inset: 0; z-index: 2500; background: rgba(0,0,0,.45);
  display: flex; align-items: center; justify-content: center; padding: 20px;
}
.modal-box {
  background: #fff; border-radius: 10px; padding: 24px; width: 100%; max-width: 420px;
  box-shadow: 0 8px 30px rgba(0,0,0,.3);
}
.modal-title { font-size: 18px; font-weight: bold; color: #1a73e8; margin-bottom: 12px; }
.modal-body { font-size: 15px; color: #333; margin-bottom: 20px; }
.modal-actions { display: flex; flex-direction: column; gap: 10px; }
.modal-actions .btn { width: 100%; }
/* 记分栏固定置顶时，模块筛选吸顶位置下移避让 */
body.summary-visible .module-filter { top: 120px; }
@media (max-width: 768px) {
  .score-summary { padding: 10px; gap: 10px; }
  .summary-value { font-size: 17px; }
}

/* ===== 2026-07-21 新增：详细内容开关 + 提交缺失高亮 ===== */
#detailToggle { margin-left: auto; }
body.hide-details .item-card .content-section,
body.hide-details .item-card .score-section { display: none; }
/* 报告列表筛选条下拉（复用 module-filter 条样式） */
.module-filter select,
.module-filter input {
  padding: 8px 10px; border: 2px solid #1a73e8; border-radius: 5px;
  font-size: 14px; color: #1a73e8; font-weight: bold; background: #fff;
  max-width: 260px; cursor: pointer;
}
.module-filter input { cursor: text; width: 200px; font-weight: normal; color: #333; }
/* 报告列表机构筛选：自定义 combobox（输入框 + ▾ 按钮 + 下拉面板） */
.module-filter .combo { position: relative; display: inline-flex; align-items: stretch; }
.module-filter .combo input { border-radius: 5px 0 0 5px; border-right: none; }
.module-filter .combo input:focus { outline: none; border-color: #1a73e8; }
.module-filter .combo-toggle {
  padding: 0 10px; border: 2px solid #1a73e8; border-radius: 0 5px 5px 0;
  background: #fff; color: #1a73e8; font-size: 12px; font-weight: bold; cursor: pointer;
}
.module-filter .combo-toggle:hover { background: #e8f0fe; transform: none; box-shadow: none; }
.combo-list {
  position: absolute; top: calc(100% + 4px); left: 0; min-width: 100%;
  max-height: 240px; overflow-y: auto; margin: 0; padding: 4px; list-style: none;
  background: #fff; border: 1px solid #dfe3e8; border-radius: 8px;
  box-shadow: 0 6px 16px rgba(60,64,67,0.18); z-index: 120;
}
.combo-list li {
  padding: 8px 10px; border-radius: 5px; font-size: 14px; color: #333;
  cursor: pointer; white-space: nowrap;
}
.combo-list li:hover { background: #f1f6ff; }
.combo-list li.active { background: #e8f0fe; color: #1a73e8; font-weight: bold; }
.combo-list li.combo-empty { color: #80868b; cursor: default; }
.combo-list li.combo-empty:hover { background: none; }
/* 新建报告面板机构 combobox（复用筛选 combobox 的结构与 .combo-list 样式，此处适配表单字段布局） */
.field .combo { position: relative; display: flex; align-items: stretch; width: 100%; }
.field .combo input { flex: 1; width: auto; min-width: 0; border-radius: 5px 0 0 5px; border-right: none; }
.field .combo input:focus { border-color: #1a73e8; }
.field .combo-toggle {
  padding: 0 10px; border: 1px solid #ccc; border-radius: 0 5px 5px 0;
  background: #fff; color: #1a73e8; font-size: 12px; font-weight: bold; cursor: pointer;
}
.field .combo-toggle:hover { background: #e8f0fe; }
/* 功能选择页（/menu）模块卡片 */
.menu-grid {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 20px; margin-top: 25px;
}
.menu-card {
  display: block; background: #fff; border-radius: 12px; padding: 35px 25px;
  text-align: center; text-decoration: none; border: 2px solid transparent;
  box-shadow: 0 2px 8px rgba(60,64,67,0.12); transition: all 0.25s;
}
.menu-card:hover {
  transform: translateY(-4px); border-color: #1a73e8;
  box-shadow: 0 8px 20px rgba(26,115,232,0.18);
}
.menu-icon { font-size: 44px; margin-bottom: 12px; }
.menu-title { font-size: 20px; font-weight: bold; color: #1a73e8; margin-bottom: 8px; }
.menu-desc { font-size: 14px; color: #5f6368; }
