.spec-page[data-v-2f4d33c3]{padding:4px}.page-header[data-v-2f4d33c3]{margin-bottom:16px}.page-title[data-v-2f4d33c3]{margin:0 0 6px;font-size:18px}.page-desc[data-v-2f4d33c3]{margin:0;font-size:13px;color:#888;line-height:1.6}.spec-layout[data-v-2f4d33c3]{display:flex;gap:16px}.panel[data-v-2f4d33c3]{flex:1;background:#fff;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.06);padding:16px;min-width:0}.panel-header[data-v-2f4d33c3]{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.panel-title[data-v-2f4d33c3]{font-size:15px;font-weight:600}.add-btn[data-v-2f4d33c3]{padding:7px 14px;background:#2ecc71;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:13px}.add-btn[data-v-2f4d33c3]:disabled{background:#bdc3c7;cursor:not-allowed}.search-bar[data-v-2f4d33c3]{display:flex;gap:8px;margin-bottom:12px}.search-input[data-v-2f4d33c3]{flex:1;padding:8px 10px;border:1px solid #ddd;border-radius:6px;font-size:13px}.search-btn[data-v-2f4d33c3]{padding:8px 16px;background:#3498db;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:13px}.table-wrap[data-v-2f4d33c3]{max-height:60vh;overflow:auto}.data-table[data-v-2f4d33c3]{width:100%;border-collapse:collapse}.data-table td[data-v-2f4d33c3],.data-table th[data-v-2f4d33c3]{padding:10px 12px;text-align:left;border-bottom:1px solid #eee;font-size:13px}.data-table th[data-v-2f4d33c3]{background:#f8f9fa;font-weight:600;color:#333;position:sticky;top:0}.data-table tbody tr[data-v-2f4d33c3]{cursor:pointer}.data-table tbody tr.active[data-v-2f4d33c3]{background:#eef4ff}.data-table tbody tr[data-v-2f4d33c3]:hover{background:#f5f7fa}.empty-row[data-v-2f4d33c3],.panel-empty[data-v-2f4d33c3]{text-align:center;color:#999;padding:30px 12px;font-size:13px}.panel-empty[data-v-2f4d33c3]{padding:40px 12px}.status-tag[data-v-2f4d33c3]{padding:2px 8px;border-radius:4px;font-size:12px}.status-1[data-v-2f4d33c3]{background:#e8f5e9;color:#2ecc71}.status-0[data-v-2f4d33c3]{background:#ffebee;color:#e74c3c}.action-btn[data-v-2f4d33c3]{padding:4px 9px;border:none;border-radius:4px;font-size:12px;cursor:pointer;margin-right:4px}.action-btn.edit[data-v-2f4d33c3]{background:#3498db;color:#fff}.action-btn.delete[data-v-2f4d33c3]{background:#95a5a6;color:#fff}.modal-overlay[data-v-2f4d33c3]{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content[data-v-2f4d33c3]{background:#fff;border-radius:8px;width:460px;max-width:90%}.modal-header[data-v-2f4d33c3]{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;border-bottom:1px solid #eee}.modal-header h3[data-v-2f4d33c3]{margin:0;font-size:16px}.close-btn[data-v-2f4d33c3]{font-size:24px;background:none;border:none;cursor:pointer;color:#999}.modal-body[data-v-2f4d33c3]{padding:20px}.form-group[data-v-2f4d33c3]{margin-bottom:15px}.form-group label[data-v-2f4d33c3]{display:block;margin-bottom:8px;font-size:14px;color:#333}.required[data-v-2f4d33c3]{color:#e74c3c}.form-control[data-v-2f4d33c3]{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px;box-sizing:border-box}.form-row[data-v-2f4d33c3]{display:flex;gap:15px}.form-group-half[data-v-2f4d33c3]{flex:1}.modal-footer[data-v-2f4d33c3]{display:flex;justify-content:flex-end;gap:10px;padding:15px 20px;border-top:1px solid #eee}.btn-cancel[data-v-2f4d33c3]{padding:8px 16px;border:1px solid #ddd;border-radius:4px;background:#fff;cursor:pointer}.btn-save[data-v-2f4d33c3]{padding:8px 16px;background:#3498db;color:#fff;border:none;border-radius:4px;cursor:pointer}