/* ===== consult.css - 今日待回访独立样式 ===== */
/* 子页面运行于主父框架(今日工作台)内，所有选择器均以 .consult-container 作用域限定，避免污染父框架 */

/* 视图容器：纵向 flex 占满右侧内容区（左栏列表内部滚动，右栏详情内部滚动，分页吸底） */
.today-work-container #consult-view {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
}

.consult-container {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
    background: #fff;
    border-radius: 4px;
    overflow: hidden;
    font-size: 13px;
    color: #333;
}

/* ===== 头部 ===== */
.consult-container .cs-header {
    padding: 14px 20px;
    border-bottom: 1px solid #f0f0f0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: linear-gradient(135deg, #fafbfc 0%, #fff 100%);
    flex-shrink: 0;
}

.consult-container .cs-title {
    display: flex;
    align-items: center;
    font-size: 15px;
    font-weight: 600;
    color: #1f2937;
}

.consult-container .cs-title i {
    margin-right: 8px;
    color: #1890ff;
    font-size: 18px;
}

.consult-container .cs-subtitle {
    margin-left: 8px;
    font-size: 12px;
    color: #999;
    font-weight: normal;
}

/* ===== 筛选栏（单行完整显示：不换行，控件紧凑） ===== */
.consult-container .cs-filter-bar {
    padding: 10px 16px;
    border-bottom: 1px solid #f0f0f0;
    background: #fafbfc;
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: nowrap;
    flex-shrink: 0;
}

.consult-container .cs-filter-item {
    display: flex;
    align-items: center;
    gap: 5px;
    white-space: nowrap;
}

.consult-container .cs-filter-icon {
    display: flex;
    align-items: center;
    color: #666;
    font-size: 13px;
}

.consult-container .cs-date-input,
.consult-container .cs-select {
    height: 30px;
    font-size: 12px;
    border-radius: 4px;
    border: 1px solid #e5e7eb;
    background: #fff;
    padding: 0 6px;
}

.consult-container .cs-date-input:focus,
.consult-container .cs-select:focus,
.consult-container .cs-search-input:focus {
    border-color: #1890ff;
    box-shadow: 0 0 0 3px rgba(24, 144, 255, 0.1);
    outline: none;
}

.consult-container .cs-date-input { width: 108px; }
.consult-container .cs-select { width: 100px; }

/* 日期段选择器（daterangepicker 无快速日期选择形态，样式同 html/datetwo.html / today_work.css 的 .daterange-input） */
.consult-container .daterange-input {
    background-color: #fff;
    cursor: pointer;
    border-radius: 4px;
    border: 1px solid #e5e7eb;
    padding: 0 10px;
    height: 30px;
    width: 220px;
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: #212529;
    white-space: nowrap;
    transition: border-color 0.15s, box-shadow 0.15s;
}
.consult-container .daterange-input:hover {
    border-color: #86b7fe;
}
.consult-container .daterange-input i {
    color: #bbb;
}
.consult-container .daterange-input .range-text {
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
}
/* 日历弹层：避免展开时被遮挡 */
.consult-container .daterangepicker {
    z-index: 1100 !important;
}

.consult-container .cs-search-wrap { position: relative; }
.consult-container .cs-search-wrap i {
    position: absolute;
    left: 8px;
    top: 50%;
    transform: translateY(-50%);
    color: #bbb;
    font-size: 12px;
}
.consult-container .cs-search-input {
    width: 150px;
    height: 30px;
    font-size: 12px;
    border-radius: 4px;
    border: 1px solid #e5e7eb;
    padding: 0 10px 0 28px;
    background: #fff;
}

/* 我的/全部 按钮组 */
.consult-container .cs-scope-group {
    display: inline-flex;
    border: 1px solid #1890ff;
    border-radius: 4px;
    overflow: hidden;
    height: 30px;
    flex-shrink: 0;
}

.consult-container .cs-scope-btn {
    height: 28px;
    padding: 0 10px;
    font-size: 12px;
    border: none;
    background: #fff;
    color: #1890ff;
    cursor: pointer;
    transition: all 0.2s;
    display: inline-flex;
    align-items: center;
    gap: 3px;
    border-right: 1px solid #1890ff;
}
.consult-container .cs-scope-btn:last-child { border-right: none; }
.consult-container .cs-scope-btn:hover { background: #e6f7ff; }
.consult-container .cs-scope-btn.active {
    background: #1890ff;
    color: #fff;
}
.consult-container .cs-scope-btn.disabled {
    color: #bbb;
    cursor: not-allowed;
    border-color: #d9d9d9;
    background: #fafafa;
}
.consult-container .cs-scope-btn.disabled:hover { background: #fafafa; }
.consult-container .cs-scope-btn i { font-size: 12px; }

/* 操作按钮 */
.consult-container .cs-filter-actions {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 6px;
    flex-shrink: 0;
}

.consult-container .btn-cs-archive,
.consult-container .btn-cs-reset,
.consult-container .btn-cs-query {
    height: 30px;
    padding: 0 10px;
    font-size: 12px;
    border-radius: 4px;
    display: inline-flex;
    align-items: center;
    gap: 3px;
    white-space: nowrap;
}

.consult-container .btn-cs-archive {
    background: #fff;
    color: #1890ff;
    border: 1px solid #1890ff;
}
.consult-container .btn-cs-archive:hover {
    background: #e6f7ff;
    color: #096dd9;
    border-color: #096dd9;
}

.consult-container .btn-cs-reset {
    background: #fff;
    color: #666;
    border: 1px solid #e5e7eb;
}
.consult-container .btn-cs-reset:hover {
    color: #1890ff;
    border-color: #1890ff;
    background: #e6f7ff;
}

.consult-container .btn-cs-query {
    background: #1890ff;
    color: #fff;
    border: 1px solid #1890ff;
}
.consult-container .btn-cs-query:hover {
    background: #40a9ff;
    border-color: #40a9ff;
    color: #fff;
}

/* ===== 主体两栏 ===== */
.consult-container .cs-body-layout {
    display: flex;
    flex: 1;
    overflow: hidden;
    min-height: 0;
}

/* 左栏列表 */
.consult-container .cs-left-panel {
    width: 420px;
    border-right: 1px solid #f0f0f0;
    display: flex;
    flex-direction: column;
    background: #fafbfc;
    flex-shrink: 0;
}

.consult-container .cs-left-header {
    padding: 12px 16px;
    border-bottom: 1px solid #f0f0f0;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-shrink: 0;
}

.consult-container .cs-panel-title {
    font-size: 13px;
    font-weight: 600;
    color: #1f2937;
    display: flex;
    align-items: center;
}
.consult-container .cs-panel-title i { margin-right: 6px; color: #1890ff; }

.consult-container .cs-count-badge {
    background: #e6f7ff;
    color: #1890ff;
    padding: 2px 8px;
    border-radius: 10px;
    font-size: 11px;
    font-weight: 600;
}

.consult-container .cs-visit-list {
    flex: 1;
    overflow-y: auto;
    padding: 12px;
}
.consult-container .cs-visit-list::-webkit-scrollbar { width: 6px; }
.consult-container .cs-visit-list::-webkit-scrollbar-thumb { background: #d9d9d9; border-radius: 3px; }

/* 列表卡片 */
.consult-container .cs-visit-card {
    background: #fff;
    border: 1px solid #f0f0f0;
    border-radius: 8px;
    padding: 12px 14px;
    margin-bottom: 10px;
    cursor: pointer;
    transition: all 0.25s;
    position: relative;
}
.consult-container .cs-visit-card:hover {
    border-color: #1890ff;
    box-shadow: 0 2px 8px rgba(24, 144, 255, 0.12);
    transform: translateY(-1px);
}
.consult-container .cs-visit-card.active {
    border-color: #1890ff;
    background: linear-gradient(135deg, #e6f7ff 0%, #fff 100%);
    box-shadow: 0 2px 8px rgba(24, 144, 255, 0.15);
}
.consult-container .cs-visit-card.active::before {
    content: '';
    position: absolute;
    left: 0; top: 12px; bottom: 12px;
    width: 3px;
    background: #1890ff;
    border-radius: 0 2px 2px 0;
}

.consult-container .cs-visit-card .cs-card-row1 {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin-bottom: 8px;
}
.consult-container .cs-visit-card .cs-card-row2 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 12px;
    color: #999;
}
.consult-container .cs-visit-card .cs-card-row2 i { margin-right: 4px; font-size: 11px; }

.consult-container .cs-status-badge {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 4px;
    font-size: 11px;
    font-weight: 500;
    white-space: nowrap;
    flex-shrink: 0;
}
.consult-container .cs-status-pending { background: #fff7e6; color: #fa8c16; border: 1px solid #ffd591; }
.consult-container .cs-status-done { background: #f6ffed; color: #52c41a; border: 1px solid #b7eb8f; }

.consult-container .cs-card-summary {
    font-size: 13px;
    color: #333;
    line-height: 1.6;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    flex: 1;
    font-weight: 500;
}

/* 右栏详情 */
.consult-container .cs-right-panel {
    flex: 1;
    display: flex;
    flex-direction: column;
    background: #fff;
    overflow: hidden;
    min-width: 0;
}

.consult-container .cs-right-content {
    flex: 1;
    overflow-y: auto;
    padding: 20px;
}
.consult-container .cs-right-content::-webkit-scrollbar { width: 6px; }
.consult-container .cs-right-content::-webkit-scrollbar-thumb { background: #d9d9d9; border-radius: 3px; }

/* 详情卡片 */
.consult-container .cs-detail-card {
    background: #fff;
    border: 1px solid #f0f0f0;
    border-radius: 8px;
    margin-bottom: 16px;
    overflow: hidden;
}
.consult-container .cs-detail-card .cs-card-head {
    padding: 14px 18px;
    border-bottom: 1px solid #f0f0f0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: linear-gradient(135deg, #fafbfc 0%, #fff 100%);
}
.consult-container .cs-detail-card .cs-head-left {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}
.consult-container .cs-detail-card .cs-head-left .cs-info-item {
    display: flex;
    align-items: center;
    font-size: 13px;
    color: #666;
}
.consult-container .cs-detail-card .cs-head-left .cs-info-item i {
    margin-right: 5px;
    color: #1890ff;
    font-size: 14px;
}
.consult-container .cs-detail-card .cs-head-left .cs-info-item strong {
    color: #1f2937;
    margin-left: 4px;
    font-weight: 600;
}
.consult-container .cs-detail-card .cs-head-right {
    display: flex;
    gap: 6px;
}

.consult-container .cs-btn-action {
    height: 30px;
    padding: 0 12px;
    font-size: 12px;
    border-radius: 4px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    background: #fff;
    border: 1px solid #e5e7eb;
    color: #666;
    cursor: pointer;
    transition: all 0.2s;
}
.consult-container .cs-btn-action:hover {
    border-color: #1890ff;
    color: #1890ff;
    background: #e6f7ff;
}
.consult-container .cs-btn-action i { font-size: 13px; }

.consult-container .cs-detail-card .cs-card-body { padding: 18px; }

/* 患者信息行 */
.consult-container .cs-patient-info-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px 20px;
}
.consult-container .cs-patient-info-item {
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.consult-container .cs-patient-info-item .cs-p-label {
    font-size: 11px;
    color: #999;
    display: flex;
    align-items: center;
}
.consult-container .cs-patient-info-item .cs-p-label i { margin-right: 4px; color: #1890ff; font-size: 12px; }
.consult-container .cs-patient-info-item .cs-p-value {
    font-size: 14px;
    font-weight: 600;
    color: #1f2937;
}
.consult-container .cs-phone-clickable {
    cursor: pointer;
    color: #1890ff;
    text-decoration: underline;
    text-decoration-style: dotted;
}
.consult-container .cs-phone-clickable:hover { color: #096dd9; }

/* 回访内容 */
.consult-container .cs-visit-content {
    font-size: 14px;
    line-height: 1.8;
    color: #374151;
    text-align: justify;
    padding: 12px 16px;
    background: #fafbfc;
    border-radius: 6px;
    border-left: 3px solid #1890ff;
    white-space: pre-wrap;
    word-break: break-word;
}

/* 随访提交卡片 */
.consult-container .cs-submit-card {
    background: linear-gradient(135deg, #fafbfc 0%, #fff 100%);
    border: 1px solid #f0f0f0;
    border-radius: 8px;
    padding: 18px;
}
.consult-container .cs-submit-title {
    font-size: 14px;
    font-weight: 600;
    color: #1f2937;
    margin-bottom: 12px;
    display: flex;
    align-items: center;
}
.consult-container .cs-submit-title i { margin-right: 6px; color: #1890ff; }
.consult-container .cs-submit-title .required { color: #ff4d4f; margin-left: 4px; }

.consult-container .cs-submit-card textarea {
    width: 100%;
    min-height: 100px;
    padding: 10px 12px;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    font-size: 13px;
    resize: vertical;
    font-family: inherit;
}
.consult-container .cs-submit-card textarea:focus {
    outline: none;
    border-color: #1890ff;
    box-shadow: 0 0 0 3px rgba(24, 144, 255, 0.1);
}
.consult-container .cs-submit-footer {
    display: flex;
    justify-content: flex-end;
    margin-top: 12px;
    gap: 8px;
}

.consult-container .btn-cs-submit {
    height: 34px;
    padding: 0 18px;
    font-size: 13px;
    border-radius: 4px;
    background: #1890ff;
    color: #fff;
    border: 1px solid #1890ff;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    cursor: pointer;
    transition: all 0.2s;
}
.consult-container .btn-cs-submit:hover { background: #40a9ff; border-color: #40a9ff; }
.consult-container .btn-cs-submit.editing { background: #fa8c16; border-color: #fa8c16; }
.consult-container .btn-cs-submit.editing:hover { background: #faad14; border-color: #faad14; }

/* 已提交（非提交当日）：仅提示，无修改按钮 */
.consult-container .cs-submit-done {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: #52c41a;
    background: #f6ffed;
    border: 1px solid #b7eb8f;
    border-radius: 4px;
    padding: 6px 12px;
}

/* 空状态 */
.consult-container .cs-empty-state {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 60px 20px;
    color: #bbb;
}
.consult-container .cs-empty-state i { font-size: 48px; margin-bottom: 12px; color: #d9d9d9; }
.consult-container .cs-empty-state .cs-empty-text { font-size: 13px; }

/* ===== 分页（吸底） ===== */
.consult-container .cs-pagination-bar {
    flex-shrink: 0;
    padding: 10px 20px;
    border-top: 1px solid #f0f0f0;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.consult-container .cs-page-info { font-size: 12px; color: #999; }
.consult-container .cs-pagination-bar .pagination { margin: 0; }
.consult-container .cs-pagination-bar .page-link {
    padding: 4px 10px;
    font-size: 12px;
    border-radius: 4px;
    color: #666;
    border: 1px solid #e5e7eb;
}
.consult-container .cs-pagination-bar .page-item.active .page-link {
    background: #1890ff;
    border-color: #1890ff;
    color: #fff;
}
