/* Credit repair: queue, letters to mail, contact tab. Builds on the documents styles (.dx-*). */
.cr-stack { display: grid; gap: 14px; }
.cr-two { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 14px; }
@media (max-width: 960px) { .cr-two { grid-template-columns: 1fr; } }
.cr-head { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; justify-content: space-between; }
.cr-head h3 { margin: 0; font-size: 15px; }
.cr-chip { display: inline-flex; align-items: center; gap: 4px; padding: 2px 9px; border-radius: 99px; font: 600 11.5px system-ui; white-space: nowrap; background: #f4f4f5; color: #52525b; }
.cr-chip.ok { background: #dcfce7; color: #166534; }
.cr-chip.warn { background: #fff4ea; color: #b34a00; }
.cr-chip.bad { background: #fee2e2; color: #991b1b; }
.cr-chip.info { background: #e0efff; color: #0b4a8f; }
:root[data-theme="dark"] .cr-chip { background: #27272a; color: #d4d4d8; }
:root[data-theme="dark"] .cr-chip.ok { background: #12301d; color: #86efac; }
:root[data-theme="dark"] .cr-chip.warn { background: #3a2210; color: #ffb066; }
:root[data-theme="dark"] .cr-chip.bad { background: #3b1414; color: #fca5a5; }
:root[data-theme="dark"] .cr-chip.info { background: #10263f; color: #93c5fd; }
.cr-checks { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.cr-checks li { display: flex; gap: 10px; align-items: flex-start; font-size: 13.5px; }
.cr-checks .mk { flex: none; width: 20px; height: 20px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 700; background: #fee2e2; color: #991b1b; }
.cr-checks li.ok .mk { background: #dcfce7; color: #166534; }
.cr-checks .d { display: block; font-size: 12px; color: var(--dx-mut); }
.cr-tbl { width: 100%; border-collapse: collapse; font-size: 13px; }
.cr-tbl th { text-align: left; font-size: 11.5px; color: var(--dx-mut); font-weight: 600; padding: 6px 8px; border-bottom: 1px solid var(--dx-line); white-space: nowrap; }
.cr-tbl td { padding: 8px; border-bottom: 1px solid var(--dx-line); vertical-align: top; }
.cr-tbl tr.go { cursor: pointer; }
.cr-tbl tr.go:hover { background: var(--dx-soft); }
.cr-tbl .sub { display: block; font-size: 12px; color: var(--dx-mut); }
.cr-tbl .act { display: flex; flex-wrap: wrap; gap: 4px; }
.cr-scroll { overflow-x: auto; }
.cr-mini { height: 28px; padding: 0 10px; font-size: 12px; }
.cr-score { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.cr-score > div { border: 1px solid var(--dx-line); border-radius: 12px; padding: 10px; text-align: center; }
.cr-score b { display: block; font-size: 24px; }
.cr-score span { font-size: 12px; color: var(--dx-mut); }
.cr-form { display: grid; grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)); gap: 8px; align-items: end; }
.cr-letter { width: 100%; min-height: 380px; font: 13px/1.5 ui-monospace, Menlo, Consolas, monospace; padding: 10px; border: 1px solid var(--dx-line); border-radius: 10px; background: var(--dx-paper); color: inherit; }
.cr-empty { color: var(--dx-mut); font-size: 13px; padding: 8px 0; }
.cr-bar { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 10px 0; }
.cr-vault { display: grid; gap: 8px; font-size: 13.5px; }
.cr-vault .r { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--dx-line); padding-bottom: 8px; }
.cr-vault code { font: 13px ui-monospace, Menlo, monospace; background: var(--dx-soft); padding: 2px 6px; border-radius: 6px; }

/* strategy picker in the item dialog */
.cr-strats { border: 1px solid var(--line, #e3e5e8); border-radius: 10px; max-height: 280px; overflow: auto; padding: 4px 10px; }
.cr-strats summary { cursor: pointer; font-weight: 600; padding: 8px 0; }
.cr-strat { display: flex; gap: 10px; align-items: flex-start; padding: 6px 0; border-top: 1px solid var(--line, #eceef0); cursor: pointer; }
.cr-strat input { margin-top: 3px; flex: none; }
.cr-strat .sub { display: block; font-size: 12px; font-weight: 400; color: var(--muted, #667085); margin-top: 2px; }

/* letter assistant */
.cr-chat { border: 1px solid var(--line, #e3e5e8); border-radius: 10px; padding: 10px; height: 340px; overflow: auto; display: flex; flex-direction: column; gap: 8px; margin-top: 8px; }
.cr-msg { max-width: 92%; padding: 8px 12px; border-radius: 12px; font-size: 14px; line-height: 1.45; }
.cr-msg.me { align-self: flex-end; background: #1d2b4f; color: #fff; }
.cr-msg.bot { align-self: flex-start; background: var(--soft, #f2f4f7); width: 92%; }

#as-c { height: 240px; padding: 4px; }

/* ---- Credit Desk workbench and Jessica ----------------------------------- */
.jx-wrap { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 14px; margin-top: 12px; align-items: start; }
.jx-left, .jx-mid { display: grid; gap: 14px; min-width: 0; align-content: start; }
.jx-right { display: none; min-width: 0; }
.jx-fab { position: fixed; right: 18px; bottom: 18px; z-index: 55; height: 42px; padding: 0 18px; border-radius: 999px; box-shadow: 0 6px 20px rgba(15, 23, 42, .25); }
@media (min-width: 1500px) {
  .jx-wrap { grid-template-columns: 290px minmax(0, 1fr) 390px; }
  .jx-right { display: block; position: sticky; top: 12px; height: calc(100vh - 28px); }
  .jx-fab, .jx-right [data-x] { display: none; }
}
@media (max-width: 1499px) {
  .jx-wrap.jx-chat-on .jx-right { display: block; position: fixed; right: 12px; bottom: 12px; top: 72px; width: min(430px, calc(100vw - 24px)); z-index: 60; }
  .jx-wrap.jx-chat-on ~ .jx-fab { display: none; }
}
@media (max-width: 900px) { .jx-wrap { grid-template-columns: 1fr; } }
.jx-right #jx-chat { height: 100%; }
.jx { display: flex; flex-direction: column; height: 100%; min-height: 480px; background: var(--surface); color: var(--ink); border: 1px solid var(--line); border-radius: 16px; overflow: hidden; box-shadow: 0 8px 28px rgba(15, 23, 42, .12); font-size: 13.5px; line-height: 20px; }
.jx .as-body { min-height: 0; }
.jx .material-symbols-outlined { font-size: 20px; line-height: 1; font-variation-settings: 'FILL' 0, 'wght' 400; }
.jx .as-fill { font-variation-settings: 'FILL' 1, 'wght' 400; }
.jx .as-head { border-bottom: 1px solid var(--line); }
.jx-about { display: inline-flex; align-items: center; gap: 6px; min-width: 0; }
.jx-about label { font-size: 11.5px; color: var(--muted); font-weight: 600; margin: 0; }
.jx-about select { height: 28px; max-width: 190px; font-size: 12px; padding: 0 6px; }
.jx-letter { width: 100%; }
.jx-letter textarea { width: 100%; min-height: 220px; margin-top: 8px; }
.jx-lact { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin-top: 8px; }
.jx-lact select { height: 28px; font-size: 12px; }
.jx-dialog { width: min(900px, 96vw); padding: 0; border: 0; background: transparent; }
.jx-dialog::backdrop { background: rgba(15, 23, 42, .5); }
.jx-dlg { height: min(80vh, 760px); }
.jx-dlg .jx { box-shadow: none; }
.as-tb.on { background: var(--bad-soft); color: var(--bad); }

.jx-pills { display: flex; flex-wrap: wrap; gap: 4px; }
.jx-pills button { border: 0; background: var(--dx-soft); color: var(--dx-mut); border-radius: 999px; padding: 4px 10px; font-size: 12px; font-weight: 600; cursor: pointer; }
.jx-pills button.on { background: var(--brand); color: var(--brand-ink); }
.jx-dir { display: grid; gap: 6px; max-height: 460px; overflow: auto; }
.jx-c { display: flex; align-items: center; gap: 10px; text-align: left; width: 100%; border: 1px solid transparent; border-radius: 12px; padding: 8px 10px; background: var(--dx-soft); color: inherit; cursor: pointer; text-decoration: none; }
.jx-c:hover { border-color: var(--dx-line); }
.jx-c.on { background: var(--brand-soft); border-color: var(--brand); }
.jx-av { flex: none; width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; font-weight: 700; font-size: 12px; background: var(--brand); color: var(--brand-ink); }
.jx-av.lg { width: 48px; height: 48px; border-radius: 14px; font-size: 16px; }
.jx-n { flex: 1; min-width: 0; display: grid; }
.jx-n b { font-size: 13px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.jx-n span { font-size: 11.5px; color: var(--dx-mut); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.jx-sc { flex: none; text-align: right; font-weight: 700; font-size: 14px; display: grid; }
.jx-sc i { font-style: normal; font-size: 10.5px; font-weight: 500; color: var(--dx-mut); }
.jx-sb { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.jx-sb > div { border: 1px solid var(--dx-line); border-radius: 10px; padding: 8px; text-align: center; }
.jx-sb b { display: block; font-size: 20px; }
.jx-sb span { font-size: 11.5px; color: var(--dx-mut); }
.jx-fh { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.jx-fn { flex: 1; min-width: 200px; }
.jx-fn h2 { margin: 0; font-size: 18px; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.jx-tbl td, .jx-tbl th { vertical-align: top; }
.jx-tbl input[type=checkbox] { width: 16px; height: 16px; }
.jx-cfg { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 12px; }
.jx-chk { display: flex; align-items: center; gap: 8px; height: 34px; font-size: 13px; }
.jx-chk input { width: 16px; height: 16px; }
.jx-ltabs { display: flex; flex-wrap: wrap; gap: 4px; }
.jx-ltabs button { border: 0; background: var(--dx-soft); color: var(--dx-mut); border-radius: 8px; padding: 4px 9px; font-size: 12px; font-weight: 600; cursor: pointer; }
.jx-ltabs button.on { background: var(--brand); color: var(--brand-ink); }
.jx-paper { border: 1px solid var(--dx-line); border-radius: 12px; background: var(--dx-paper); padding: 16px 18px; max-height: 460px; overflow: auto; box-shadow: inset 0 1px 4px rgba(15, 23, 42, .06); }
.jx-pmeta { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; font-size: 12px; color: var(--dx-mut); padding-bottom: 8px; border-bottom: 1px solid var(--dx-line); }
.jx-paper h4 { margin: 10px 0 6px; font-size: 13px; }
.jx-paper pre { white-space: pre-wrap; margin: 0; font: 13.5px/1.55 Georgia, 'Times New Roman', serif; }
.jx-end { justify-content: flex-end; padding-top: 4px; border-top: 1px solid var(--dx-line); }
