/* 卓安Claw 案件工作台样式。
   配色沿用及锋超级 AI 开发助手（OpenClaw Pro）：暖纸底、陶土主色。
   仅承载 /zhuoan 视图和会话案件条，不改及锋原有页面。 */

:root {
    --zhuoan-ink: #211f1b;
    --zhuoan-charcoal: #3f3b33;
    --zhuoan-text-strong: #211f1b;
    --zhuoan-muted: #6d695e;
    --zhuoan-faint: #969183;
    --zhuoan-accent: #bd5b3d;
    --zhuoan-accent-strong: #a94d32;
    --zhuoan-accent-soft: #f7e9e3;
    --zhuoan-paper: #f6f5ef;
    --zhuoan-surface: #fbfaf6;
    --zhuoan-surface-strong: #fffefa;
    --zhuoan-surface-muted: #efede5;
    --zhuoan-border: #e3dfd4;
    --zhuoan-border-strong: #d2ccbe;
    --zhuoan-success: #2f8f5b;
    --zhuoan-danger: #b23c3c;
    --zhuoan-shadow-sm: 0 1px 2px rgba(30, 25, 20, .05);
    --zhuoan-shadow-md: 0 18px 50px rgba(30, 25, 20, .09);
}

.dark {
    --zhuoan-ink: #f3f0e7;
    --zhuoan-charcoal: #d4d0c4;
    --zhuoan-text-strong: #f3f0e7;
    --zhuoan-muted: #aaa597;
    --zhuoan-faint: #7f7a6d;
    --zhuoan-accent: #d97858;
    --zhuoan-accent-strong: #e58a6b;
    --zhuoan-accent-soft: rgba(217, 120, 88, .14);
    --zhuoan-paper: #1e1d1a;
    --zhuoan-surface: #252420;
    --zhuoan-surface-strong: #2c2a25;
    --zhuoan-surface-muted: #33312b;
    --zhuoan-border: #3a372f;
    --zhuoan-border-strong: #4b463c;
    --zhuoan-success: #58b985;
    --zhuoan-danger: #d76a6a;
    --zhuoan-shadow-sm: 0 1px 2px rgba(0, 0, 0, .25);
    --zhuoan-shadow-md: 0 18px 50px rgba(0, 0, 0, .38);
}

.zhuoan-workspace {
    display: flex;
    height: 100%;
    min-height: 0;
    background: var(--zhuoan-paper);
    color: var(--zhuoan-charcoal);
}

.zhuoan-rail {
    width: 264px;
    flex: 0 0 264px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 20px 16px;
    background: var(--zhuoan-surface);
    border-right: 1px solid var(--zhuoan-border);
    overflow-y: auto;
}

.zhuoan-rail-head h1 {
    margin: 6px 0 4px;
    color: var(--zhuoan-ink);
    font-size: 18px;
    font-weight: 800;
    letter-spacing: -0.2px;
}

.zhuoan-rail-head p {
    margin: 0;
    color: var(--zhuoan-muted);
    font-size: 14px;
}

.zhuoan-eyebrow {
    color: var(--zhuoan-accent-strong);
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.zhuoan-picker-label,
.zhuoan-stage-title {
    color: var(--zhuoan-muted);
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.08em;
}

.zhuoan-case-select {
    width: 100%;
    padding: 9px 10px;
    border: 1px solid #d1d5db;
    border-radius: 9px;
    background: var(--zhuoan-surface-strong);
    color: var(--zhuoan-charcoal);
    font-size: 14px;
    outline: none;
}

.zhuoan-case-select:focus {
    border-color: var(--zhuoan-accent);
    box-shadow: 0 0 0 3px var(--zhuoan-accent-soft);
}

.zhuoan-stage-list {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.zhuoan-stage-item {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 7px 8px;
    border-radius: 7px;
    color: var(--zhuoan-faint);
    font-size: 14px;
    line-height: 1.35;
}

.zhuoan-stage-item .dot {
    width: 7px;
    height: 7px;
    flex: 0 0 7px;
    border-radius: 50%;
    border: 1.5px solid var(--zhuoan-border-strong);
}

.zhuoan-stage-item.done { color: var(--zhuoan-charcoal); }
.zhuoan-stage-item.done .dot { background: var(--zhuoan-faint); border-color: var(--zhuoan-faint); }
.zhuoan-stage-item.current {
    background: var(--zhuoan-accent-soft);
    color: var(--zhuoan-ink);
    font-weight: 800;
}
.zhuoan-stage-item.current .dot {
    background: var(--zhuoan-accent);
    border-color: var(--zhuoan-accent);
    box-shadow: 0 0 0 3px rgba(53, 168, 91, 0.15);
}

.zhuoan-rail-foot {
    margin-top: auto;
    padding-top: 12px;
    border-top: 1px solid var(--zhuoan-border);
    color: var(--zhuoan-faint);
    font-size: 14px;
    line-height: 1.6;
}

.zhuoan-main {
    flex: 1;
    min-width: 0;
    overflow-y: auto;
    padding: 22px 26px 30px;
}

.zhuoan-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 18px;
}

.zhuoan-header h2 {
    margin: 6px 0 6px;
    color: var(--zhuoan-ink);
    font-size: 24px;
    font-weight: 800;
    letter-spacing: -0.4px;
}

.zhuoan-header p {
    margin: 0;
    color: var(--zhuoan-muted);
    font-size: 14px;
}

.zhuoan-header-actions {
    display: flex;
    gap: 8px;
    flex: 0 0 auto;
}

.zhuoan-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 8px;
    padding: 9px 13px;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    text-decoration: none;
}

.zhuoan-btn.ghost {
    background: var(--zhuoan-surface-strong);
    border: 1px solid #d1d5db;
    color: var(--zhuoan-charcoal);
}

.zhuoan-btn.ghost:hover { border-color: var(--zhuoan-accent); color: var(--zhuoan-accent-strong); }

.zhuoan-btn.primary {
    background: var(--zhuoan-accent);
    color: #fff;
}

.zhuoan-btn.primary:hover { background: var(--zhuoan-accent-strong); }

.zhuoan-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 12px;
}

.zhuoan-card {
    background: var(--zhuoan-surface-strong);
    border: 1px solid var(--zhuoan-border);
    border-radius: 12px;
    padding: 14px 15px;
    min-width: 0;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.03);
}

.zhuoan-card.span-2 { grid-column: span 2; }

.zhuoan-card-title {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 8px;
    color: var(--zhuoan-faint);
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.08em;
    margin-bottom: 10px;
}

.zhuoan-card-count {
    color: var(--zhuoan-faint);
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0;
}

.zhuoan-kv {
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.zhuoan-kv-row {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding-bottom: 7px;
    border-bottom: 1px solid var(--zhuoan-surface-muted);
    font-size: 14px;
}

.zhuoan-kv-row:last-child { border-bottom: 0; padding-bottom: 0; }
.zhuoan-kv-row > span { flex: 0 0 auto; white-space: nowrap; color: var(--zhuoan-muted); }
.zhuoan-kv-row > strong { min-width: 0; overflow-wrap: anywhere; color: var(--zhuoan-ink); text-align: right; font-weight: 700; }

.zhuoan-node {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.zhuoan-node-badge {
    align-self: flex-start;
    background: var(--zhuoan-accent-soft);
    color: var(--zhuoan-accent-strong);
    border-radius: 999px;
    padding: 4px 9px;
    font-size: 14px;
    font-weight: 700;
}

.zhuoan-node p {
    margin: 0;
    color: var(--zhuoan-muted);
    font-size: 14px;
    line-height: 1.65;
}

.zhuoan-timeline {
    display: flex;
    flex-direction: column;
    gap: 9px;
}

.zhuoan-timeline-row {
    display: flex;
    gap: 10px;
    font-size: 14px;
    line-height: 1.5;
}

.zhuoan-timeline-time {
    width: 92px;
    flex: 0 0 92px;
    color: var(--zhuoan-faint);
    font-variant-numeric: tabular-nums;
}

.zhuoan-timeline-body { color: var(--zhuoan-charcoal); }
.zhuoan-timeline-body strong { color: var(--zhuoan-ink); }

.zhuoan-hint {
    margin: 0;
    color: var(--zhuoan-muted);
    font-size: 14px;
    line-height: 1.7;
}

.zhuoan-empty {
    background: var(--zhuoan-surface-strong);
    border: 1px dashed #d1d5db;
    border-radius: 12px;
    padding: 46px 20px;
    text-align: center;
    color: var(--zhuoan-faint);
}

.zhuoan-empty i { font-size: 26px; color: var(--zhuoan-accent); margin-bottom: 10px; }
.zhuoan-empty h3 { margin: 0 0 6px; color: var(--zhuoan-ink); font-size: 16px; }
.zhuoan-empty p { margin: 0; font-size: 14px; }

/* Chat header strip shown when the conversation is bound to a case. */
.zhuoan-chat-context {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 8px 16px;
    background: var(--zhuoan-accent-soft);
    border-bottom: 1px solid rgba(189, 91, 61, .24);
    color: var(--zhuoan-accent-strong);
    font-size: 14px;
}

.zhuoan-chat-context.hidden { display: none; }
.zhuoan-chat-context.is-unbound {
    background: var(--zhuoan-paper);
    border-bottom-color: var(--zhuoan-ink);
    color: var(--zhuoan-muted);
}
.zhuoan-chat-context.is-unbound .zhuoan-chat-dot {
    background: var(--zhuoan-faint);
    box-shadow: 0 0 0 3px rgba(148, 163, 184, .16);
}
.zhuoan-consult-case-list {
    display: flex;
    flex-direction: column;
    gap: 6px;
    max-height: 46vh;
    overflow-y: auto;
}
.zhuoan-consult-case-row {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 3px;
    width: 100%;
    border: 1px solid var(--zhuoan-border);
    border-radius: 8px;
    background: var(--zhuoan-surface-strong);
    padding: 9px 11px;
    text-align: left;
    cursor: pointer;
}
.zhuoan-consult-case-row:hover { border-color: var(--zhuoan-accent); background: var(--zhuoan-accent-soft); }
.zhuoan-consult-case-row strong { color: var(--zhuoan-ink); font-size: 14px; }
.zhuoan-consult-case-row span { color: var(--zhuoan-muted); font-size: 14px; }
.zhuoan-consult-case-row.hidden { display: none; }
.dark .zhuoan-chat-context.is-unbound { background: var(--zhuoan-surface); border-bottom-color: var(--zhuoan-border); color: var(--zhuoan-faint); }
.dark .zhuoan-consult-case-row { background: var(--zhuoan-surface); border-color: var(--zhuoan-border); }
.dark .zhuoan-consult-case-row strong { color: var(--zhuoan-ink); }
.zhuoan-chat-context-main { display: flex; align-items: center; gap: 7px; min-width: 0; }
.zhuoan-chat-context strong { color: var(--zhuoan-ink); }
.zhuoan-chat-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--zhuoan-accent);
    box-shadow: 0 0 0 3px rgba(53, 168, 91, 0.14);
}
.zhuoan-chat-stage {
    color: var(--zhuoan-accent-strong);
    background: var(--zhuoan-surface-strong);
    border-radius: 999px;
    padding: 2px 7px;
    font-size: 14px;
}
.zhuoan-chat-context button {
    border: 0;
    background: transparent;
    color: var(--zhuoan-accent-strong);
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    white-space: nowrap;
}

.dark .zhuoan-workspace { background: var(--zhuoan-paper); color: var(--zhuoan-ink); }
.dark .zhuoan-rail { background: var(--zhuoan-surface); border-right-color: var(--zhuoan-border); }
.dark .zhuoan-rail-head h1, .dark .zhuoan-header h2, .dark .zhuoan-kv-row strong { color: var(--zhuoan-ink); }
.dark .zhuoan-card { background: var(--zhuoan-surface); border-color: rgba(255,255,255,.08); }
.dark .zhuoan-timeline-body, .dark .zhuoan-kv-row span, .dark .zhuoan-header p { color: var(--zhuoan-faint); }
.dark .zhuoan-stage-item.current { background: rgba(189,91,61,.14); color: #fff; }
.dark .zhuoan-chat-context { background: rgba(189,91,61,.12); border-bottom-color: rgba(189,91,61,.3); color: var(--zhuoan-accent-strong); }

@media (max-width: 1100px) {
    .zhuoan-grid { grid-template-columns: 1fr; }
    .zhuoan-card.span-2 { grid-column: span 1; }
}

@media (max-width: 820px) {
    .zhuoan-workspace { flex-direction: column; }
    .zhuoan-rail { width: auto; flex: 0 0 auto; max-height: 42vh; }
    .zhuoan-main { padding: 16px; }
    .zhuoan-header { flex-direction: column; }
}

/* Dark-theme readability: the console defaults to dark, so the workspace
   must not inherit light-only form colors. */
.dark .zhuoan-case-select {
    background: var(--zhuoan-surface);
    color: var(--zhuoan-ink);
    border-color: rgba(255, 255, 255, 0.12);
}
.dark .zhuoan-case-select option {
    background: var(--zhuoan-surface);
    color: var(--zhuoan-ink);
}
.dark .zhuoan-card-title,
.dark .zhuoan-hint,
.dark .zhuoan-node p,
.dark .zhuoan-rail-head p,
.dark .zhuoan-picker-label,
.dark .zhuoan-stage-title,
.dark .zhuoan-rail-foot {
    color: var(--zhuoan-faint);
}
.dark .zhuoan-kv-row {
    border-bottom-color: rgba(255, 255, 255, 0.06);
}
.dark .zhuoan-timeline-time {
    color: var(--zhuoan-muted);
}
.dark .zhuoan-stage-item {
    color: var(--zhuoan-muted);
}
.dark .zhuoan-btn.ghost {
    background: var(--zhuoan-surface);
    border-color: rgba(255, 255, 255, 0.12);
    color: var(--zhuoan-ink);
}

.zhuoan-node-log {
    margin: 0 !important;
    color: var(--zhuoan-faint) !important;
    font-size: 11px !important;
}
.zhuoan-advance-btn {
    align-self: flex-start;
    margin-top: 4px;
}

.zhuoan-role-wrap {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--zhuoan-muted);
    font-size: 14px;
}
.zhuoan-role-select {
    padding: 7px 9px;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    background: var(--zhuoan-surface-strong);
    color: var(--zhuoan-ink);
    font-size: 14px;
    outline: none;
}
.zhuoan-role-select:focus {
    border-color: var(--zhuoan-accent);
    box-shadow: 0 0 0 3px var(--zhuoan-accent-soft);
}
.dark .zhuoan-role-wrap { color: var(--zhuoan-faint); }
.dark .zhuoan-role-select {
    background: var(--zhuoan-surface);
    color: var(--zhuoan-ink);
    border-color: rgba(255,255,255,.12);
}

/* 卓安Claw brand mark（暂无正式 logo 时的文字标） */
.zhuoan-brand-mark {
    width: 32px;
    height: 32px;
    border-radius: 10px;
    background: linear-gradient(145deg, var(--zhuoan-accent), var(--zhuoan-accent-strong));
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    font-weight: 800;
    line-height: 1;
    box-shadow: 0 2px 8px rgba(34, 133, 71, .3);
}
.zhuoan-welcome-mark {
    width: 64px;
    height: 64px;
    border-radius: 18px;
    background: linear-gradient(145deg, var(--zhuoan-accent), var(--zhuoan-accent-strong));
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
    font-weight: 800;
    margin-bottom: 1.5rem;
    box-shadow: 0 10px 30px rgba(34, 133, 71, .25);
}

/* 审计留痕 */
.zhuoan-audit-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    margin-bottom: 10px;
}
.zhuoan-audit-input {
    height: 30px;
    border: 1px solid #d1d5db;
    border-radius: 7px;
    background: var(--zhuoan-surface-strong);
    color: var(--zhuoan-charcoal);
    padding: 0 8px;
    font-size: 14px;
    outline: none;
}
select.zhuoan-audit-input { min-width: 116px; }
#zhuoan-audit-q { flex: 1 1 150px; min-width: 120px; }
.zhuoan-audit-input:focus { border-color: var(--zhuoan-accent); box-shadow: 0 0 0 3px var(--zhuoan-accent-soft); }
.zhuoan-audit-date-sep { color: var(--zhuoan-faint); font-size: 14px; }
.zhuoan-audit-toolbar .zhuoan-btn { height: 30px; padding: 0 10px; }
.zhuoan-audit {
    display: flex;
    flex-direction: column;
    gap: 6px;
    max-height: 360px;
    overflow-y: auto;
}
.zhuoan-audit-row {
    display: grid;
    grid-template-columns: 112px 128px minmax(0, 1fr) 64px;
    gap: 8px;
    align-items: baseline;
    padding-bottom: 6px;
    border-bottom: 1px solid var(--zhuoan-surface-muted);
    font-size: 14px;
    color: var(--zhuoan-charcoal);
}
.zhuoan-audit-row:last-child { border-bottom: 0; padding-bottom: 0; }
.zhuoan-audit-time { color: var(--zhuoan-faint); font-variant-numeric: tabular-nums; }
.zhuoan-audit-action { color: var(--zhuoan-accent-strong); font-weight: 700; }
.zhuoan-audit-detail { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.zhuoan-audit-operator { color: var(--zhuoan-muted); text-align: right; white-space: nowrap; }
.dark .zhuoan-audit-row { border-bottom-color: rgba(255,255,255,.06); color: var(--zhuoan-charcoal); }
.dark .zhuoan-audit-time, .dark .zhuoan-audit-operator { color: var(--zhuoan-faint); }
.dark .zhuoan-audit-action { color: var(--zhuoan-accent); }
.dark .zhuoan-audit-input {
    background: var(--zhuoan-surface);
    border-color: rgba(255,255,255,.12);
    color: var(--zhuoan-ink);
}
.dark .zhuoan-audit-input option { background: var(--zhuoan-surface); color: var(--zhuoan-ink); }
.dark .zhuoan-audit-date-sep { color: var(--zhuoan-muted); }

/* 办案清单 */
.zhuoan-checklist {
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.zhuoan-checklist-row {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 8px 0;
    border-bottom: 1px solid var(--zhuoan-surface-muted);
}
.zhuoan-checklist-row:first-child { padding-top: 0; }
.zhuoan-checklist-row:last-child { border-bottom: 0; padding-bottom: 0; }
.zhuoan-checklist-dot {
    width: 8px;
    height: 8px;
    flex: 0 0 8px;
    border-radius: 50%;
    background: var(--zhuoan-border-strong);
}
.zhuoan-checklist-dot.done { background: var(--zhuoan-accent); }
.zhuoan-checklist-dot.skip { background: var(--zhuoan-faint); }
.zhuoan-checklist-main { flex: 1; min-width: 0; }
.zhuoan-checklist-title {
    display: block;
    color: var(--zhuoan-ink);
    font-size: 14px;
    font-weight: 700;
}
.zhuoan-checklist-required {
    margin-left: 6px;
    border-radius: 999px;
    background: #fff7ed;
    color: #b45309;
    padding: 1px 6px;
    font-size: 14px;
    font-weight: 700;
}
.zhuoan-checklist-conditional {
    margin-left: 6px;
    border-radius: 999px;
    background: #eef2ff;
    color: #4338ca;
    padding: 1px 6px;
    font-size: 14px;
    font-weight: 700;
}
.zhuoan-checklist-overdue {
    margin-left: 6px;
    border-radius: 999px;
    background: #fef2f2;
    color: var(--zhuoan-danger);
    padding: 1px 6px;
    font-size: 14px;
    font-weight: 700;
}
.zhuoan-checklist-row.is-overdue .zhuoan-checklist-title { color: var(--zhuoan-danger); }
.zhuoan-checklist-group-title {
    margin: 10px 0 2px;
    color: var(--zhuoan-muted);
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .04em;
}
.zhuoan-checklist-group-title:first-child { margin-top: 0; }
.zhuoan-checklist-meta {
    display: block;
    margin-top: 2px;
    color: var(--zhuoan-faint);
    font-size: 14px;
}
.zhuoan-link-btn {
    border: 0;
    background: none;
    padding: 0;
    color: var(--zhuoan-accent);
    font-size: 14px;
    cursor: pointer;
    text-decoration: underline;
}
.zhuoan-consult-participants {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin: 8px 0;
}
.zhuoan-consult-add {
    display: flex;
    gap: 8px;
    align-items: center;
    flex-wrap: wrap;
}
.zhuoan-consult-add input {
    flex: 1 1 160px;
    min-width: 0;
    border: 1px solid var(--zhuoan-line, var(--zhuoan-border));
    border-radius: 7px;
    padding: 7px 9px;
    font-size: 14px;
}
.zhuoan-actions {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.zhuoan-action-row {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 9px 10px;
    border: 1px solid #fde68a;
    border-radius: 9px;
    background: #fffbeb;
}
.zhuoan-action-main {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
    flex: 1;
}
.zhuoan-action-kind {
    color: #b45309;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.04em;
}
.zhuoan-action-summary {
    color: var(--zhuoan-ink);
    font-size: 14px;
    font-weight: 700;
    overflow-wrap: anywhere;
}
.zhuoan-action-meta {
    color: var(--zhuoan-faint);
    font-size: 14px;
}
.zhuoan-action-btns {
    display: flex;
    gap: 6px;
    flex: 0 0 auto;
}
.zhuoan-action-note {
    color: var(--zhuoan-faint);
    font-size: 14px;
    flex: 0 0 auto;
}
.zhuoan-btn.compact {
    padding: 5px 9px;
    font-size: 14px;
}
.dark .zhuoan-action-row {
    border-color: rgba(245,158,11,.28);
    background: rgba(120,53,15,.2);
}
.dark .zhuoan-action-summary { color: var(--zhuoan-ink); }

.zhuoan-checklist-select {
    height: 28px;
    border: 1px solid #d1d5db;
    border-radius: 7px;
    background: var(--zhuoan-surface-strong);
    color: var(--text);
    padding: 0 6px;
    font-size: 14px;
    outline: none;
}
.zhuoan-checklist-select:focus { border-color: var(--zhuoan-accent); }
.zhuoan-checklist-select:disabled { opacity: .55; cursor: not-allowed; }

/* 案件材料 / 待办时限 */
.zhuoan-docs,
.zhuoan-deadlines {
    display: flex;
    flex-direction: column;
}

.zhuoan-folder-block {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 10px;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--zhuoan-surface-muted);
}
.zhuoan-folder-label {
    flex: 0 0 auto;
    padding-top: 3px;
    color: var(--zhuoan-faint);
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.04em;
}
.zhuoan-folder-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    min-width: 0;
}
.zhuoan-folder-chip {
    border-radius: 999px;
    background: var(--zhuoan-surface-muted);
    color: var(--zhuoan-muted);
    padding: 2px 8px;
    font-size: 14px;
    line-height: 1.6;
    white-space: nowrap;
}

.zhuoan-doc-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 9px 0;
    border-bottom: 1px solid var(--zhuoan-surface-muted);
}
.zhuoan-doc-row:first-child { padding-top: 0; }
.zhuoan-doc-row:last-child { border-bottom: 0; padding-bottom: 0; }
.zhuoan-doc-main { min-width: 0; }
.zhuoan-doc-name {
    display: block;
    overflow: hidden;
    color: var(--zhuoan-ink);
    font-size: 14px;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.zhuoan-doc-meta {
    display: block;
    margin-top: 2px;
    color: var(--zhuoan-faint);
    font-size: 14px;
}
.zhuoan-doc-badges {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 4px;
}
.zhuoan-doc-badge {
    flex: 0 0 auto;
    border: 1px solid #fed7aa;
    border-radius: 999px;
    background: #fff7ed;
    color: #b45309;
    padding: 3px 8px;
    font-size: 14px;
    font-weight: 700;
    white-space: nowrap;
}
.zhuoan-doc-badge.ready {
    border-color: #bbf7d0;
    background: #f0fdf4;
    color: #15803d;
}
.zhuoan-doc-badge.processing {
    border-color: #bfdbfe;
    background: #eff6ff;
    color: #1d4ed8;
}
.zhuoan-doc-badge.failed {
    border-color: #fecaca;
    background: #fef2f2;
    color: var(--zhuoan-danger);
}
button.zhuoan-doc-badge {
    cursor: pointer;
    font-family: inherit;
}
.zhuoan-doc-badge.share {
    border-color: var(--zhuoan-border-strong);
    background: var(--zhuoan-surface-strong);
    color: var(--zhuoan-accent-strong);
}
.zhuoan-doc-badge.shared {
    border-color: rgba(47, 143, 91, .35);
    background: rgba(47, 143, 91, .10);
    color: var(--zhuoan-success);
}
.dark .zhuoan-doc-badge.share {
    border-color: var(--zhuoan-border-strong);
    background: var(--zhuoan-surface);
    color: var(--zhuoan-accent-strong);
}
.dark .zhuoan-doc-badge.shared {
    border-color: rgba(88, 185, 133, .35);
    background: rgba(88, 185, 133, .12);
    color: var(--zhuoan-success);
}
.zhuoan-doc-upload {
    flex: 0 0 auto;
    border: 1px solid var(--zhuoan-border-strong);
    border-radius: 6px;
    background: var(--zhuoan-surface-strong);
    color: var(--zhuoan-charcoal);
    cursor: pointer;
    font: inherit;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0;
    padding: 3px 8px;
}
.zhuoan-doc-upload:hover { border-color: var(--zhuoan-faint); color: var(--zhuoan-ink); }
.zhuoan-doc-upload:disabled { cursor: wait; opacity: .6; }
.dark .zhuoan-doc-upload {
    border-color: rgba(255,255,255,.18);
    background: rgba(255,255,255,.06);
    color: var(--zhuoan-charcoal);
}
.zhuoan-doc-note {
    margin: 8px 0 0;
    color: #b45309;
    font-size: 14px;
    line-height: 1.5;
}
.zhuoan-locked-note {
    display: flex;
    align-items: center;
    gap: 8px;
    border: 1px dashed var(--zhuoan-border-strong);
    border-radius: 8px;
    background: var(--zhuoan-paper);
    padding: 12px;
    color: var(--zhuoan-muted);
    font-size: 14px;
}
.zhuoan-locked-note i { color: var(--zhuoan-faint); }

.zhuoan-deadline-row {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 8px 0;
    border-bottom: 1px solid var(--zhuoan-surface-muted);
}
.zhuoan-deadline-row:first-child { padding-top: 0; }
.zhuoan-deadline-row:last-child { border-bottom: 0; padding-bottom: 0; }
.zhuoan-deadline-date {
    width: 42px;
    flex: 0 0 42px;
    color: var(--zhuoan-muted);
    font-size: 14px;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}
.zhuoan-deadline-main { flex: 1; min-width: 0; }
.zhuoan-deadline-title {
    display: block;
    overflow: hidden;
    color: var(--zhuoan-ink);
    font-size: 14px;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.zhuoan-deadline-meta {
    display: block;
    margin-top: 2px;
    color: var(--zhuoan-faint);
    font-size: 14px;
}
.zhuoan-deadline-badge {
    flex: 0 0 auto;
    border-radius: 999px;
    padding: 3px 8px;
    font-size: 14px;
    font-weight: 700;
    white-space: nowrap;
}
.zhuoan-deadline-badge.pending { background: var(--zhuoan-accent-soft); color: var(--zhuoan-accent-strong); }
.zhuoan-deadline-badge.overdue { background: #fef2f2; color: var(--zhuoan-danger); }
.zhuoan-deadline-badge.done { background: var(--zhuoan-surface-muted); color: var(--zhuoan-faint); }

.dark .zhuoan-checklist-row { border-bottom-color: rgba(255,255,255,.06); }
.dark .zhuoan-checklist-title { color: var(--zhuoan-ink); }
.dark .zhuoan-checklist-meta { color: var(--zhuoan-faint); }
.dark .zhuoan-checklist-select {
    background: var(--zhuoan-surface);
    border-color: rgba(255,255,255,.12);
    color: var(--zhuoan-ink);
}
.dark .zhuoan-checklist-required { background: rgba(180,83,9,.18); color: #fdba74; }
.dark .zhuoan-folder-block { border-bottom-color: rgba(255,255,255,.06); }
.dark .zhuoan-folder-label { color: var(--zhuoan-muted); }
.dark .zhuoan-folder-chip { background: rgba(255,255,255,.06); color: var(--zhuoan-faint); }
.dark .zhuoan-doc-row,
.dark .zhuoan-deadline-row { border-bottom-color: rgba(255,255,255,.06); }
.dark .zhuoan-doc-name,
.dark .zhuoan-deadline-title { color: var(--zhuoan-ink); }
.dark .zhuoan-doc-meta,
.dark .zhuoan-deadline-meta,
.dark .zhuoan-deadline-date { color: var(--zhuoan-faint); }
.dark .zhuoan-doc-badge { background: rgba(180,83,9,.18); border-color: rgba(251,146,60,.35); color: #fdba74; }
.dark .zhuoan-doc-note { color: #fdba74; }
.dark .zhuoan-locked-note { background: #151515; border-color: rgba(255,255,255,.14); color: var(--zhuoan-faint); }
.dark .zhuoan-deadline-badge.pending { background: rgba(189,91,61,.14); color: var(--zhuoan-accent); }
.dark .zhuoan-deadline-badge.overdue { background: rgba(185,28,28,.2); color: #fca5a5; }
.dark .zhuoan-deadline-badge.done { background: rgba(255,255,255,.06); color: var(--zhuoan-muted); }

/* ============================================================
   卓安Claw 单壳：/zhuoan = 案件工作台 + 现有及锋会话
   不复制聊天 DOM；让 #view-chat 与 #view-zhuoan 同屏。
   ============================================================ */
body.zhuoan-split #content-area {
    display: flex;
    flex-direction: row;
    overflow: hidden;
}

body.zhuoan-split #view-zhuoan {
    display: flex;
    order: 1;
    flex: 1 1 64%;
    min-width: 0;
    height: 100%;
}

body.zhuoan-split #view-chat {
    display: flex;
    order: 2;
    flex: 0 0 36%;
    min-width: 360px;
    max-width: 520px;
    height: 100%;
    border-left: 1px solid var(--zhuoan-border);
    background: var(--zhuoan-surface);
}

body.zhuoan-split #view-chat .chat-main {
    width: 100%;
}
body.zhuoan-split #view-chat #workspace-panel {
    display: none !important;
}
body.zhuoan-split .zhuoan-rail {
    width: 220px;
    flex-basis: 220px;
}
body.zhuoan-split .zhuoan-main {
    padding: 24px 28px 32px;
}
.dark body.zhuoan-split #view-chat {
    border-left-color: var(--zhuoan-ink);
    background: var(--zhuoan-paper);
}

@media (max-width: 1200px) {
    body.zhuoan-split #view-chat { display: none; }
    body.zhuoan-split #view-zhuoan { flex: 1 1 100%; }
    body.zhuoan-split .zhuoan-rail { width: 240px; flex-basis: 240px; }
}

/* 结案结构化复盘 */
.zhuoan-review-form {
    margin-top: 16px;
    padding-top: 14px;
    border-top: 1px dashed var(--zhuoan-border);
}
.zhuoan-review-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    color: var(--zhuoan-ink);
    font-size: 14px;
    font-weight: 750;
}
.zhuoan-review-head i { margin-right: 5px; color: #b45309; }
.zhuoan-review-status {
    border: 1px solid var(--zhuoan-border);
    border-radius: 999px;
    background: var(--zhuoan-paper);
    color: var(--zhuoan-muted);
    padding: 2px 8px;
    font-size: 14px;
    font-weight: 700;
}
.zhuoan-review-status.draft { border-color: var(--zhuoan-border); background: var(--zhuoan-paper); color: var(--zhuoan-muted); }
.zhuoan-review-status.pending { border-color: #fde68a; background: #fffbeb; color: #b45309; }
.zhuoan-review-status.done { border-color: #bbf7d0; background: #f0fdf4; color: #15803d; }
.zhuoan-review-missing {
    margin: 7px 0 0;
    color: #b45309;
    font-size: 14px;
}
.zhuoan-review-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-top: 10px;
}
.zhuoan-review-field { display: grid; gap: 4px; min-width: 0; }
.zhuoan-review-field > span { color: var(--zhuoan-muted); font-size: 14px; font-weight: 650; }
.zhuoan-review-field textarea,
.zhuoan-review-field input {
    width: 100%;
    box-sizing: border-box;
    border: 1px solid var(--zhuoan-border);
    border-radius: 7px;
    background: var(--zhuoan-surface-strong);
    color: var(--zhuoan-ink);
    padding: 7px 8px;
    font: inherit;
    font-size: 14px;
    line-height: 1.55;
    outline: none;
    resize: vertical;
}
.zhuoan-review-field textarea:focus,
.zhuoan-review-field input:focus { border-color: var(--zhuoan-faint); }
.zhuoan-review-field textarea[readonly],
.zhuoan-review-field input[readonly] { background: var(--zhuoan-paper); color: var(--zhuoan-muted); }
.zhuoan-review-field.compact { margin-top: 10px; }
.zhuoan-review-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 10px;
}
.dark .zhuoan-review-form { border-top-color: rgba(255,255,255,.08); }
.dark .zhuoan-review-field textarea,
.dark .zhuoan-review-field input {
    border-color: rgba(255,255,255,.12);
    background: rgba(255,255,255,.04);
    color: var(--zhuoan-ink);
}
.dark .zhuoan-review-field textarea[readonly],
.dark .zhuoan-review-field input[readonly] { background: rgba(255,255,255,.02); color: var(--zhuoan-faint); }
@media (max-width: 900px) {
    .zhuoan-review-grid { grid-template-columns: 1fr; }
}

/* 任务链 */
.zhuoan-task-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 14px;
}
.zhuoan-task-head h3 { margin: 3px 0 0; font-size: 20px; letter-spacing: -.02em; }
.zhuoan-task-head p { margin: 5px 0 0; color: var(--zhuoan-muted); font-size: 14px; line-height: 1.6; }
.zhuoan-task-note {
    border: 1px solid var(--zhuoan-border);
    border-radius: 999px;
    background: var(--zhuoan-paper);
    color: var(--zhuoan-faint);
    padding: 4px 9px;
    font-size: 14px;
    white-space: nowrap;
}
.zhuoan-chain-bar {
    display: flex;
    align-items: center;
    gap: 7px;
    overflow-x: auto;
    padding: 9px 11px;
    border: 1px solid var(--zhuoan-border);
    border-radius: 10px;
    background: var(--zhuoan-surface-strong);
    margin-bottom: 12px;
}
.zhuoan-chain-node {
    display: flex;
    align-items: center;
    gap: 7px;
    flex: 1;
    min-width: 86px;
    padding: 7px 9px;
    border: 1px solid #eef2f7;
    border-radius: 8px;
    background: var(--zhuoan-paper);
    color: var(--zhuoan-muted);
    font-size: 14px;
    white-space: nowrap;
}
.zhuoan-chain-node.has-task { border-color: #d7e3ea; background: #f1f7f5; color: var(--zhuoan-ink); }
.zhuoan-chain-node b {
    margin-left: auto;
    color: #0f766e;
    font-size: 14px;
}
.zhuoan-chain-arrow { color: var(--zhuoan-charcoal); font-size: 14px; flex: 0 0 auto; }
.zhuoan-task-metrics {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 9px;
    margin-bottom: 12px;
}
.zhuoan-task-metrics > div {
    padding: 10px 12px;
    border: 1px solid var(--zhuoan-border);
    border-radius: 9px;
    background: var(--zhuoan-surface-strong);
}
.zhuoan-task-metrics span { display: block; color: var(--zhuoan-faint); font-size: 14px; }
.zhuoan-task-metrics b { display: block; margin-top: 4px; font-size: 18px; }
.zhuoan-task-metrics .danger b { color: var(--zhuoan-danger); }
.zhuoan-task-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 10px;
}
.zhuoan-task-filters { display: flex; flex-wrap: wrap; gap: 6px; }
.zhuoan-task-filters button {
    border: 1px solid var(--zhuoan-border);
    border-radius: 999px;
    background: var(--zhuoan-surface-strong);
    color: var(--zhuoan-muted);
    cursor: pointer;
    padding: 5px 10px;
    font-size: 14px;
}
.zhuoan-task-filters button.active {
    border-color: var(--zhuoan-border);
    background: var(--zhuoan-accent);
    color: #fff;
}
.zhuoan-task-board {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    align-items: start;
}
.zhuoan-task-column {
    min-height: 160px;
    border: 1px solid var(--zhuoan-border);
    border-radius: 10px;
    background: var(--zhuoan-paper);
}
.zhuoan-task-column > header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 11px;
    border-bottom: 1px solid var(--zhuoan-border);
    color: var(--zhuoan-charcoal);
    font-size: 14px;
    font-weight: 700;
}
.zhuoan-task-column > header i { margin-right: 4px; color: var(--zhuoan-faint); }
.zhuoan-task-column > header b {
    border-radius: 999px;
    background: var(--zhuoan-border);
    color: var(--zhuoan-charcoal);
    padding: 1px 7px;
    font-size: 14px;
}
.zhuoan-task-column-body { display: grid; gap: 8px; padding: 9px; }
.zhuoan-task-card {
    border: 1px solid var(--zhuoan-border);
    border-radius: 9px;
    background: var(--zhuoan-surface-strong);
    box-shadow: 0 1px 2px rgba(15,23,42,.03);
    padding: 10px;
    cursor: pointer;
}
.zhuoan-task-card:hover { border-color: var(--zhuoan-charcoal); }
.zhuoan-task-card.overdue { border-color: #fecaca; }
.zhuoan-task-card-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
}
.zhuoan-task-stage {
    border-radius: 5px;
    background: #ecfdf5;
    color: #0f766e;
    padding: 2px 6px;
    font-size: 14px;
    font-weight: 700;
}
.zhuoan-task-priority { color: var(--zhuoan-faint); font-size: 14px; }
.zhuoan-task-priority.high { color: var(--zhuoan-danger); font-weight: 700; }
.zhuoan-task-card h4 { margin: 7px 0 0; font-size: 14px; line-height: 1.45; }
.zhuoan-task-card p { margin: 4px 0 0; color: var(--zhuoan-faint); font-size: 14px; line-height: 1.45; }
.zhuoan-task-meta {
    display: grid;
    gap: 3px;
    margin-top: 8px;
    color: var(--zhuoan-muted);
    font-size: 14px;
}
.zhuoan-task-meta i { width: 11px; color: var(--zhuoan-faint); }
.zhuoan-task-meta .danger { color: var(--zhuoan-danger); }
.zhuoan-task-ai {
    margin-top: 7px;
    border-radius: 6px;
    background: #f5f3ff;
    color: #6d28d9;
    padding: 5px 6px;
    font-size: 14px;
    line-height: 1.45;
}
.zhuoan-task-actions { display: flex; gap: 5px; margin-top: 8px; }
.zhuoan-task-actions button {
    border: 1px solid var(--zhuoan-border-strong);
    border-radius: 5px;
    background: var(--zhuoan-surface-strong);
    color: var(--zhuoan-charcoal);
    cursor: pointer;
    padding: 3px 7px;
    font-size: 14px;
}
.zhuoan-task-actions button:hover { border-color: var(--zhuoan-border); color: var(--zhuoan-ink); }
.zhuoan-task-empty { padding: 18px 8px; color: var(--zhuoan-charcoal); font-size: 14px; text-align: center; }
.dark .zhuoan-task-note,
.dark .zhuoan-task-filters button { border-color: rgba(255,255,255,.12); background: rgba(255,255,255,.04); color: var(--zhuoan-faint); }
.dark .zhuoan-chain-bar,
.dark .zhuoan-task-metrics > div,
.dark .zhuoan-task-column,
.dark .zhuoan-task-card { border-color: rgba(255,255,255,.10); background: rgba(255,255,255,.03); }
.dark .zhuoan-chain-node { border-color: rgba(255,255,255,.08); background: rgba(255,255,255,.03); color: var(--zhuoan-faint); }
.dark .zhuoan-task-card h4 { color: var(--zhuoan-ink); }
@media (max-width: 1400px) {
    .zhuoan-task-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 1100px) {
    .zhuoan-task-board { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* 任务新建/贡献 */
.zhuoan-task-toolbar-actions { display: flex; gap: 6px; }
.zhuoan-task-new-btn {
    border: 1px solid var(--zhuoan-border-strong);
    border-radius: 6px;
    background: var(--zhuoan-surface-strong);
    color: var(--zhuoan-charcoal);
    cursor: pointer;
    padding: 6px 10px;
    font-size: 14px;
    font-weight: 650;
}
.zhuoan-task-new-btn.primary { border-color: var(--zhuoan-border); background: var(--zhuoan-accent); color: #fff; }
.zhuoan-task-divider { width: 1px; height: 18px; background: var(--zhuoan-border); margin: 0 3px; }
.zhuoan-task-modal {
    position: fixed;
    inset: 0;
    z-index: 300;
    display: grid;
    place-items: center;
    background: rgba(8, 24, 39, .42);
    padding: 20px;
}
.zhuoan-task-modal-card {
    width: min(680px, 100%);
    max-height: 90vh;
    overflow-y: auto;
    border-radius: 13px;
    background: var(--zhuoan-surface-strong);
    box-shadow: 0 24px 80px rgba(8, 24, 39, .25);
}
.zhuoan-task-modal-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    padding: 18px 20px 0;
}
.zhuoan-task-modal-head h3 { margin: 0; font-size: 16px; }
.zhuoan-task-modal-head p { margin: 4px 0 0; color: var(--zhuoan-muted); font-size: 14px; }
.zhuoan-task-modal-head button {
    border: 0; background: transparent; color: var(--zhuoan-faint);
    cursor: pointer; font-size: 20px; line-height: 1;
}
.zhuoan-task-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 11px;
    padding: 16px 20px;
}
.zhuoan-task-form label { display: grid; gap: 5px; color: var(--zhuoan-muted); font-size: 14px; }
.zhuoan-task-form label.full { grid-column: 1 / -1; }
.zhuoan-task-form input,
.zhuoan-task-form select,
.zhuoan-task-form textarea {
    width: 100%;
    border: 1px solid var(--zhuoan-border);
    border-radius: 7px;
    background: var(--zhuoan-surface-strong);
    color: var(--zhuoan-ink);
    padding: 7px 9px;
    font: inherit;
    font-size: 14px;
    outline: none;
}
.zhuoan-task-form textarea { resize: vertical; }
.zhuoan-task-modal-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    padding: 0 20px 18px;
}
.zhuoan-task-modal-actions button {
    border: 1px solid var(--zhuoan-border-strong);
    border-radius: 7px;
    background: var(--zhuoan-surface-strong);
    color: var(--zhuoan-charcoal);
    cursor: pointer;
    padding: 7px 13px;
    font-size: 14px;
}
.zhuoan-task-modal-actions button.primary { border-color: var(--zhuoan-border); background: var(--zhuoan-accent); color: #fff; }
.zhuoan-task-contrib-wrap { overflow-x: auto; padding: 4px 14px 14px; }
.zhuoan-task-contrib-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.zhuoan-task-contrib-table th {
    padding: 9px 10px; border-bottom: 1px solid var(--zhuoan-border);
    color: var(--zhuoan-faint); font-size: 14px; text-align: left; white-space: nowrap;
}
.zhuoan-task-contrib-table td { padding: 9px 10px; border-bottom: 1px solid var(--zhuoan-surface-muted); }
.zhuoan-task-contrib-table .num { text-align: right; font-variant-numeric: tabular-nums; }
.zhuoan-task-contrib-name { font-weight: 700; }
.dark .zhuoan-task-new-btn { border-color: rgba(255,255,255,.14); background: rgba(255,255,255,.04); color: var(--zhuoan-charcoal); }
.dark .zhuoan-task-new-btn.primary { background: var(--zhuoan-border); color: var(--zhuoan-ink); }
.dark .zhuoan-task-modal-card { background: #101820; }

/* 客户信息弹窗 */
.zhuoan-customer-profile { padding: 20px; }
.zhuoan-customer-profile-head {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--zhuoan-border);
}
.zhuoan-customer-avatar-lg {
    flex: 0 0 54px;
    width: 54px;
    height: 54px;
    border-radius: 16px;
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, var(--zhuoan-accent-soft), var(--zhuoan-surface-muted));
    color: var(--zhuoan-accent-strong);
    font-size: 22px;
    font-weight: 800;
}
.zhuoan-customer-profile-title { flex: 1; min-width: 0; }
.zhuoan-customer-profile-title h3 {
    margin: 0 0 7px;
    color: var(--zhuoan-ink);
    font-size: 20px;
    line-height: 1.3;
}
.zhuoan-customer-pills { display: flex; flex-wrap: wrap; gap: 6px; }
.zhuoan-customer-pill {
    border: 1px solid var(--zhuoan-border);
    background: var(--zhuoan-surface-muted);
    color: var(--zhuoan-charcoal);
    border-radius: 999px;
    padding: 2px 8px;
    font-size: 11px;
    line-height: 1.6;
}
.zhuoan-customer-pill.stage {
    border-color: transparent;
    background: var(--zhuoan-accent-soft);
    color: var(--zhuoan-accent-strong);
}
.zhuoan-customer-pill.case {
    border-color: transparent;
    background: rgba(47, 143, 91, .10);
    color: var(--zhuoan-success);
}
.zhuoan-customer-facts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin: 16px 0;
}
.zhuoan-customer-fact {
    border: 1px solid var(--zhuoan-border);
    background: var(--zhuoan-surface);
    border-radius: 10px;
    padding: 9px 11px;
}
.zhuoan-customer-fact span {
    display: block;
    color: var(--zhuoan-faint);
    font-size: 11px;
    margin-bottom: 3px;
}
.zhuoan-customer-fact strong {
    color: var(--zhuoan-ink);
    font-size: 13px;
    font-weight: 700;
    overflow-wrap: anywhere;
}
.zhuoan-customer-next {
    border-left: 3px solid var(--zhuoan-accent);
    background: var(--zhuoan-accent-soft);
    border-radius: 10px;
    padding: 10px 12px;
    margin-bottom: 12px;
}
.zhuoan-customer-next span,
.zhuoan-customer-note span {
    display: block;
    color: var(--zhuoan-faint);
    font-size: 11px;
    margin-bottom: 3px;
}
.zhuoan-customer-next strong {
    color: var(--zhuoan-accent-strong);
    font-size: 13px;
    line-height: 1.5;
}
.zhuoan-customer-note {
    background: var(--zhuoan-surface-muted);
    border-radius: 10px;
    padding: 10px 12px;
    margin-bottom: 12px;
}
.zhuoan-customer-note p {
    margin: 0;
    color: var(--zhuoan-charcoal);
    font-size: 13px;
    line-height: 1.6;
    overflow-wrap: anywhere;
}
.zhuoan-customer-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 14px; }
.zhuoan-customer-tag {
    border: 1px solid var(--zhuoan-border);
    border-radius: 6px;
    background: var(--zhuoan-surface);
    color: var(--zhuoan-muted);
    padding: 2px 7px;
    font-size: 11px;
}
.zhuoan-customer-compliance {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    border: 1px dashed var(--zhuoan-border-strong);
    border-radius: 10px;
    background: var(--zhuoan-surface);
    padding: 11px 12px;
}
.zhuoan-customer-compliance i {
    color: var(--zhuoan-accent-strong);
    margin-top: 2px;
}
.zhuoan-customer-compliance strong {
    display: block;
    color: var(--zhuoan-ink);
    font-size: 12px;
    margin-bottom: 2px;
}
.zhuoan-customer-compliance p {
    margin: 0;
    color: var(--zhuoan-muted);
    font-size: 12px;
    line-height: 1.55;
}
.zhuoan-customer-profile-foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    border-top: 1px solid var(--zhuoan-border);
    margin-top: 14px;
    padding-top: 14px;
}
.zhuoan-customer-profile-foot span {
    color: var(--zhuoan-faint);
    font-size: 11px;
    line-height: 1.5;
}
.dark .zhuoan-customer-profile-title h3,
.dark .zhuoan-customer-fact strong,
.dark .zhuoan-customer-compliance strong { color: var(--zhuoan-ink); }
.dark .zhuoan-customer-fact,
.dark .zhuoan-customer-compliance,
.dark .zhuoan-customer-tag { background: var(--zhuoan-surface); border-color: var(--zhuoan-border); }
.dark .zhuoan-customer-note { background: var(--zhuoan-surface-muted); }
.dark .zhuoan-customer-pill { background: var(--zhuoan-surface); border-color: var(--zhuoan-border); }
.dark .zhuoan-customer-pill.stage { background: rgba(217, 120, 88, .16); border-color: transparent; }
.dark .zhuoan-customer-pill.case { background: rgba(47, 143, 91, .16); border-color: transparent; }
@media (max-width: 560px) {
    .zhuoan-customer-profile { padding: 16px; }
    .zhuoan-customer-profile-head { gap: 10px; }
    .zhuoan-customer-avatar-lg { flex-basis: 46px; width: 46px; height: 46px; font-size: 19px; border-radius: 13px; }
    .zhuoan-customer-profile-title h3 { font-size: 18px; }
    .zhuoan-customer-facts { grid-template-columns: 1fr; }
    .zhuoan-customer-profile-foot { align-items: flex-start; flex-direction: column; }
}
.dark .zhuoan-task-modal-head h3 { color: var(--zhuoan-ink); }
.dark .zhuoan-task-form input,
.dark .zhuoan-task-form select,
.dark .zhuoan-task-form textarea { border-color: rgba(255,255,255,.12); background: rgba(255,255,255,.04); color: var(--zhuoan-ink); }
.dark .zhuoan-task-contrib-table th { border-bottom-color: rgba(255,255,255,.10); }
.dark .zhuoan-task-contrib-table td { border-bottom-color: rgba(255,255,255,.07); color: var(--zhuoan-charcoal); }
@media (max-width: 760px) {
    .zhuoan-task-form { grid-template-columns: 1fr; }
    .zhuoan-task-form label.full { grid-column: auto; }
}

/* 分诊 */
.zhuoan-triage-list { display: grid; gap: 12px; }
.zhuoan-triage-card {
    border: 1px solid var(--zhuoan-border);
    border-radius: 11px;
    background: var(--zhuoan-surface-strong);
    padding: 14px;
}
.zhuoan-triage-card-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}
.zhuoan-triage-stage {
    display: inline-block;
    border-radius: 5px;
    background: #fff7ed;
    color: #b45309;
    padding: 2px 6px;
    font-size: 14px;
    font-weight: 700;
}
.zhuoan-triage-card h4 { margin: 7px 0 0; font-size: 14px; }
.zhuoan-triage-card p { margin: 4px 0 0; color: var(--zhuoan-muted); font-size: 14px; }
.zhuoan-triage-assign {
    flex: 0 0 auto;
    border: 1px solid var(--zhuoan-accent);
    border-radius: 6px;
    background: var(--zhuoan-accent);
    color: #fff;
    cursor: pointer;
    padding: 6px 11px;
    font-size: 14px;
    font-weight: 650;
}
.zhuoan-triage-candidates {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    margin-top: 12px;
}
.zhuoan-triage-candidate {
    border: 1px solid #eef2f7;
    border-radius: 8px;
    background: var(--zhuoan-paper);
    padding: 9px;
}
.zhuoan-triage-candidate.recommended { border-color: #bbf7d0; background: #f0fdf4; }
.zhuoan-triage-candidate b { display: block; font-size: 14px; }
.zhuoan-triage-candidate span { display: block; margin-top: 3px; color: var(--zhuoan-muted); font-size: 14px; }
.zhuoan-triage-candidate-meta {
    display: flex; align-items: center; gap: 7px; margin-top: 7px;
    color: var(--zhuoan-charcoal); font-size: 14px;
}
.zhuoan-triage-candidate-meta em {
    margin-left: auto; border-radius: 999px; background: #dcfce7;
    color: #15803d; padding: 1px 6px; font-size: 14px; font-style: normal; font-weight: 700;
}
.zhuoan-triage-reasons { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 6px; }
.zhuoan-triage-reasons span {
    border-radius: 4px; background: #eef2f7; color: var(--zhuoan-muted); padding: 1px 5px; font-size: 14px;
}
.zhuoan-triage-radio-list { display: grid; gap: 7px; }
.zhuoan-triage-radio {
    display: flex; align-items: center; gap: 9px; border: 1px solid var(--zhuoan-border);
    border-radius: 8px; padding: 9px 10px; cursor: pointer; font-size: 14px;
}
.zhuoan-triage-radio.recommended { border-color: #bbf7d0; background: #f0fdf4; }
.zhuoan-triage-radio span { flex: 1; min-width: 0; }
.zhuoan-triage-radio b { display: block; }
.zhuoan-triage-radio small { display: block; margin-top: 2px; color: var(--zhuoan-muted); font-size: 14px; }
.zhuoan-triage-radio em { color: #15803d; font-size: 14px; font-style: normal; font-weight: 700; }
.dark .zhuoan-triage-card { border-color: rgba(255,255,255,.10); background: rgba(255,255,255,.03); }
.dark .zhuoan-triage-card h4 { color: var(--zhuoan-ink); }
.dark .zhuoan-triage-candidate { border-color: rgba(255,255,255,.08); background: rgba(255,255,255,.03); }
.dark .zhuoan-triage-candidate.recommended { border-color: rgba(74,222,128,.35); background: rgba(22,101,52,.18); }
@media (max-width: 1100px) {
    .zhuoan-triage-candidates { grid-template-columns: 1fr; }
}

/* 预约排期 */
.zhuoan-appt-head-actions { display: flex; align-items: center; gap: 8px; flex: 0 0 auto; flex-wrap: wrap; }
.zhuoan-appt-head-actions button {
    display: inline-flex; align-items: center; gap: 6px;
    border: 1px solid var(--zhuoan-border); border-radius: 8px; background: var(--zhuoan-surface-strong);
    color: var(--zhuoan-text-strong); padding: 7px 11px; font-size: 14px; cursor: pointer;
    white-space: nowrap; flex: 0 0 auto;
}
.zhuoan-appt-head-actions button.primary {
    border-color: var(--zhuoan-border); background: var(--zhuoan-accent); color: #fff; font-weight: 600;
}
.zhuoan-appt-filters { display: flex; gap: 6px; margin: 0 0 12px; }
.zhuoan-appt-filters button {
    border: 1px solid var(--zhuoan-border); border-radius: 999px; background: var(--zhuoan-surface-strong);
    color: var(--zhuoan-muted); padding: 5px 11px; font-size: 14px; cursor: pointer;
}
.zhuoan-appt-filters button.active {
    border-color: var(--zhuoan-border); background: var(--zhuoan-accent); color: #fff;
}
.zhuoan-appt-list { display: grid; gap: 14px; }
.zhuoan-appt-day {
    border: 1px solid var(--zhuoan-border); border-radius: 12px; background: var(--zhuoan-surface-strong);
    overflow: hidden;
}
.zhuoan-appt-day-head {
    display: flex; align-items: center; justify-content: space-between;
    padding: 9px 13px; background: var(--zhuoan-paper); border-bottom: 1px solid #eef2f7;
}
.zhuoan-appt-day-head b { font-size: 14px; color: var(--zhuoan-ink); }
.zhuoan-appt-day-head span { color: var(--zhuoan-faint); font-size: 14px; }
.zhuoan-appt-item {
    display: grid; grid-template-columns: 62px minmax(0, 1fr) auto;
    gap: 12px; align-items: start; padding: 12px 13px;
    border-bottom: 1px solid var(--zhuoan-surface-muted);
}
.zhuoan-appt-item:last-child { border-bottom: 0; }
.zhuoan-appt-item.status-cancelled { opacity: .55; }
.zhuoan-appt-time { text-align: center; padding-top: 2px; }
.zhuoan-appt-time b { display: block; font-size: 14px; color: var(--zhuoan-ink); letter-spacing: -.02em; }
.zhuoan-appt-time span { display: block; margin-top: 2px; color: var(--zhuoan-faint); font-size: 14px; }
.zhuoan-appt-title { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; }
.zhuoan-appt-title h4 { margin: 0; font-size: 14px; color: var(--zhuoan-ink); }
.zhuoan-appt-type {
    border-radius: 5px; background: #eff6ff; color: #1d4ed8;
    padding: 2px 6px; font-size: 14px; font-weight: 600;
}
.zhuoan-appt-status { border-radius: 999px; padding: 2px 7px; font-size: 14px; }
.zhuoan-appt-status.pending { background: #fff7ed; color: #c2410c; }
.zhuoan-appt-status.confirmed { background: #eff6ff; color: #1d4ed8; }
.zhuoan-appt-status.done { background: #f0fdf4; color: #15803d; }
.zhuoan-appt-status.cancelled { background: var(--zhuoan-surface-muted); color: var(--zhuoan-muted); }
.zhuoan-appt-meta { display: flex; flex-wrap: wrap; gap: 10px; margin: 6px 0 0; color: var(--zhuoan-muted); font-size: 14px; }
.zhuoan-appt-meta i { color: var(--zhuoan-faint); margin-right: 3px; }
.zhuoan-appt-note { margin: 5px 0 0; color: var(--zhuoan-faint); font-size: 14px; }
.zhuoan-appt-actions { display: flex; align-items: center; gap: 5px; flex-wrap: wrap; justify-content: flex-end; }
.zhuoan-appt-actions button {
    border: 1px solid var(--zhuoan-border); border-radius: 6px; background: var(--zhuoan-surface-strong);
    color: var(--zhuoan-text-strong); padding: 4px 8px; font-size: 14px; cursor: pointer;
}
.zhuoan-appt-actions button.ghost { color: var(--zhuoan-faint); }
.zhuoan-appt-actions button.link { border-color: transparent; color: #2563eb; background: transparent; }
.dark .zhuoan-appt-day { border-color: rgba(255,255,255,.10); background: rgba(255,255,255,.03); }
.dark .zhuoan-appt-day-head { background: rgba(255,255,255,.03); border-color: rgba(255,255,255,.08); }
.dark .zhuoan-appt-day-head b,
.dark .zhuoan-appt-title h4,
.dark .zhuoan-appt-time b { color: var(--zhuoan-ink); }
.dark .zhuoan-appt-item { border-color: rgba(255,255,255,.06); }
.dark .zhuoan-appt-head-actions button,
.dark .zhuoan-appt-filters button,
.dark .zhuoan-appt-actions button { background: rgba(255,255,255,.04); border-color: rgba(255,255,255,.10); color: var(--zhuoan-charcoal); }
.dark .zhuoan-appt-head-actions button.primary,
.dark .zhuoan-appt-filters button.active { background: var(--zhuoan-border); color: var(--zhuoan-ink); }
@media (max-width: 1100px) {
    .zhuoan-appt-item { grid-template-columns: 54px minmax(0, 1fr); }
    .zhuoan-appt-actions { grid-column: 1 / -1; justify-content: flex-start; padding-left: 66px; }
}

/* 谈案录音 */
.zhuoan-rec-list { display: flex; flex-direction: column; gap: 7px; }
.zhuoan-rec-row {
    display: grid; grid-template-columns: 62px minmax(0, 1fr) auto;
    align-items: center; gap: 10px;
    border: 1px solid #eef2f7; border-radius: 9px; background: var(--zhuoan-surface-strong);
    padding: 10px 12px;
}
.zhuoan-rec-type {
    border-radius: 5px; background: #eff6ff; color: #1d4ed8;
    padding: 3px 6px; font-size: 14px; font-weight: 600; text-align: center;
}
.zhuoan-rec-main { min-width: 0; }
.zhuoan-rec-main strong { display: block; color: var(--zhuoan-ink); font-size: 14px; }
.zhuoan-rec-main em { display: block; margin-top: 2px; color: var(--zhuoan-faint); font-size: 14px; font-style: normal; }
.zhuoan-rec-main span { display: block; margin-top: 3px; color: var(--zhuoan-muted); font-size: 14px; }
.zhuoan-rec-status { border-radius: 999px; padding: 2px 8px; font-size: 14px; white-space: nowrap; }
.zhuoan-rec-status.pending { background: #fff7ed; color: #c2410c; }
.zhuoan-rec-status.doing { background: #eff6ff; color: #1d4ed8; }
.zhuoan-rec-status.done { background: #f0fdf4; color: #15803d; }
.zhuoan-rec-status.failed { background: #fef2f2; color: var(--zhuoan-danger); }
.zhuoan-rec-consent { flex-direction: row !important; align-items: center; gap: 7px !important; color: var(--zhuoan-text-strong) !important; }
.zhuoan-rec-consent input { width: auto !important; }
.dark .zhuoan-rec-row { background: rgba(255,255,255,.03); border-color: rgba(255,255,255,.08); }
.dark .zhuoan-rec-main strong { color: var(--zhuoan-ink); }
.dark .zhuoan-rec-main span { color: var(--zhuoan-faint); }
@media (max-width: 1100px) {
    .zhuoan-rec-row { grid-template-columns: 54px minmax(0, 1fr); }
    .zhuoan-rec-status { grid-column: 2; justify-self: start; }
}

/* 录音转写与五维质检详情 */
.zhuoan-rec-row { cursor: pointer; transition: border-color .15s ease, background .15s ease; }
.zhuoan-rec-row:hover { border-color: var(--zhuoan-border-strong); background: var(--zhuoan-surface); }
.zhuoan-rec-detail { display: flex; flex-direction: column; gap: 14px; max-height: 68vh; overflow: hidden auto; padding-right: 2px; }
.zhuoan-rec-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.zhuoan-rec-metrics > div { border: 1px solid var(--zhuoan-border); border-radius: 10px; background: var(--zhuoan-surface); padding: 9px 10px; }
.zhuoan-rec-metrics span { display: block; color: var(--zhuoan-faint); font-size: 12px; }
.zhuoan-rec-metrics b { display: block; margin-top: 2px; color: var(--zhuoan-ink); font-size: 18px; }
.zhuoan-rec-block h4 { display: flex; justify-content: space-between; gap: 8px; margin: 0 0 8px; color: var(--zhuoan-ink); font-size: 15px; }
.zhuoan-rec-block h4 span { color: var(--zhuoan-faint); font-size: 12px; font-weight: 500; }
.zhuoan-rec-segments { display: flex; flex-direction: column; gap: 6px; max-height: 210px; overflow: auto; border: 1px solid var(--zhuoan-border); border-radius: 10px; background: var(--zhuoan-surface); padding: 10px; }
.zhuoan-rec-seg { display: flex; gap: 10px; align-items: flex-start; }
.zhuoan-rec-seg > span { flex: 0 0 42px; color: var(--zhuoan-accent-strong); font-size: 12px; font-weight: 700; font-variant-numeric: tabular-nums; }
.zhuoan-rec-seg p { margin: 0; color: var(--zhuoan-charcoal); font-size: 13px; line-height: 1.6; }
.zhuoan-rec-edit { margin-top: 8px; }
.zhuoan-rec-edit summary { cursor: pointer; color: var(--zhuoan-accent-strong); font-size: 13px; font-weight: 600; }
.zhuoan-rec-edit textarea { width: 100%; margin-top: 8px; border: 1px solid var(--zhuoan-border-strong); border-radius: 8px; background: var(--zhuoan-surface-strong); color: var(--zhuoan-ink); padding: 9px; font-size: 13px; line-height: 1.55; resize: vertical; }
.zhuoan-rec-edit .zhuoan-btn { margin-top: 8px; }
.zhuoan-rec-analysis { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 9px; }
.zhuoan-rec-dim { min-width: 0; border: 1px solid var(--zhuoan-border); border-radius: 10px; background: var(--zhuoan-surface); padding: 10px; overflow-wrap: anywhere; }
.zhuoan-rec-dim-head { display: flex; align-items: baseline; gap: 7px; }
.zhuoan-rec-dim-head strong { color: var(--zhuoan-ink); font-size: 14px; }
.zhuoan-rec-dim-head b { margin-left: auto; color: var(--zhuoan-accent-strong); font-size: 18px; }
.zhuoan-rec-dim-head em { color: var(--zhuoan-faint); font-size: 12px; font-style: normal; }
.zhuoan-rec-dim p { margin: 5px 0 0; color: var(--zhuoan-muted); font-size: 12px; line-height: 1.55; }
.zhuoan-rec-dim ul { margin: 7px 0 0; padding-left: 16px; display: grid; gap: 4px; }
.zhuoan-rec-dim li { color: var(--zhuoan-muted); font-size: 12px; line-height: 1.5; }
.zhuoan-rec-dim li span { display: block; color: var(--zhuoan-charcoal); }
.zhuoan-rec-dim li em { display: block; color: var(--zhuoan-faint); font-style: normal; }
.zhuoan-rec-review-status { display: inline-block; margin-top: 7px; border-radius: 999px; background: var(--zhuoan-surface-muted); color: var(--zhuoan-muted); padding: 2px 8px; font-size: 11px; }
.zhuoan-rec-dim.empty { opacity: .7; }
.zhuoan-rec-actions { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-top: 10px; }
.zhuoan-rec-actions input { height: 32px; min-width: 180px; border: 1px solid var(--zhuoan-border-strong); border-radius: 8px; background: var(--zhuoan-surface-strong); color: var(--zhuoan-ink); padding: 0 9px; font-size: 13px; }
.zhuoan-rec-reviewed { color: var(--zhuoan-success); font-size: 12px; font-weight: 700; }
@media (max-width: 900px) {
    .zhuoan-rec-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
