#app { padding: 28px 20px 40px; }
.case-list { display: grid; gap: 12px; }
.case-item { display: flex; justify-content: space-between; gap: 12px; align-items: center; padding: 16px; border: 1px solid var(--line); border-radius: var(--radius); text-decoration: none; color: inherit; }
.case-item:hover { border-color: var(--accent); }
.kv { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 12px; margin: 12px 0; }
.kv div { background: var(--panel); border-radius: 8px; padding: 12px; }
.kv strong { display: block; font-size: 22px; }
.issue { border-left: 4px solid var(--line); padding: 8px 12px; margin: 10px 0; }
.issue.high { border-color: var(--bad); }
.issue.medium { border-color: var(--warn); }
.issue.low { border-color: var(--faint); }
.issue small { color: var(--muted); display: block; }
.tabs { display: flex; gap: 8px; margin: 18px 0 8px; flex-wrap: wrap; }
.tabs button { border: 1px solid var(--line); background: #fff; border-radius: 999px; padding: 6px 14px; cursor: pointer; }
.tabs button[aria-selected="true"] { background: var(--accent); border-color: var(--accent); color: #fff; }
.formtext { white-space: pre-wrap; font-size: 13px; max-height: 260px; overflow-y: auto; background: var(--panel); border-radius: 8px; padding: 12px; border: 1px solid var(--line); }
.offer { border: 2px solid var(--good); border-radius: var(--radius); padding: 14px; margin: 10px 0; }
.transcript { font-size: 14px; max-height: 340px; overflow-y: auto; background: var(--panel); padding: 12px; border-radius: 8px; }
.transcript p { margin: 0 0 6px; }
.transcript .ai { color: var(--accent-hover); }
.transcript .system { color: var(--faint); font-style: italic; }
h2.section-title { margin-top: 28px; font-size: 22px; }
