.primary-nav {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-right: auto;
  margin-left: 28px;
}

.primary-nav a {
  color: #cbd8eb;
  padding: 8px 11px;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 700;
}

.primary-nav a:hover,
.primary-nav a.active {
  color: #fff;
  background: rgba(255, 255, 255, 0.1);
}

.compact-button {
  margin-top: 14px;
  padding: 7px 11px;
  font-size: 12px;
}

.detail-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin: 0;
}

.detail-grid div {
  border-top: 1px solid var(--line);
  padding-top: 11px;
}

.detail-grid dt {
  color: var(--muted);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.detail-grid dd {
  margin: 3px 0 0;
  font-weight: 700;
}

.activity-row {
  display: grid;
  gap: 3px;
  padding: 11px 0;
  border-bottom: 1px solid var(--line);
  font-size: 13px;
}

.activity-row small,
.contact-card small {
  color: var(--muted);
}

.contact-card {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  padding: 15px 0;
  border-bottom: 1px solid var(--line);
}

.contact-card p {
  margin: 4px 0 0;
  color: var(--muted);
  font-size: 13px;
}

.checkbox-label {
  display: flex;
  grid-template-columns: auto 1fr;
  align-items: center;
  align-self: end;
  gap: 9px;
  min-height: 43px;
}

.checkbox-label input {
  width: auto;
}

.section-heading {
  align-items: center;
  gap: 16px;
}

.insurance-card,
.provider-panel {
  border-top: 3px solid #d9e4f2;
}

.insurance-card {
  padding: 18px 0;
  border-bottom: 1px solid var(--line);
}

.insurance-head,
.adjuster-list {
  display: flex;
  justify-content: space-between;
  gap: 12px;
}

.insurance-head div,
.adjuster-list {
  display: grid;
  gap: 4px;
}

.insurance-head small,
.adjuster-list span {
  color: var(--muted);
  font-size: 12px;
}

.compact-details {
  margin: 16px 0;
}

details {
  margin-top: 15px;
  border-top: 1px solid var(--line);
  padding-top: 12px;
}

summary {
  cursor: pointer;
  color: var(--brand);
  font-weight: 800;
  font-size: 13px;
}

.compact-form {
  margin-top: 14px;
}

.visit-timeline {
  margin-top: 16px;
}

.timeline-item small {
  color: var(--muted);
}

.inline-status-form {
  display: flex;
  align-items: end;
  gap: 10px;
  margin: 15px 0;
}

.inline-status-form label {
  flex: 1;
}

.status.records-received {
  color: #166534;
  background: #dcfce7;
}

.status.records-requested {
  color: #92400e;
  background: #fef3c7;
}

.status.records-none {
  color: #475569;
  background: #e2e8f0;
}

.search-form select {
  min-width: 130px;
}

.case-workspace {
  display: grid;
  grid-template-columns: 215px minmax(0, 1fr);
  gap: 24px;
  align-items: start;
  margin-top: 14px;
}

.case-workspace-main {
  min-width: 0;
}

.case-section-sidebar {
  position: sticky;
  top: 78px;
  display: grid;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
  box-shadow: var(--shadow);
}

.case-section-sidebar a {
  padding: 11px 14px;
  border-bottom: 1px solid var(--line);
  color: #174f8a;
  font-size: 13px;
  font-weight: 650;
}

.case-section-sidebar a:hover {
  background: #eef8f4;
}

.case-section-sidebar a.active {
  color: #07583c;
  background: #ccecdf;
  box-shadow: inset 4px 0 #269b70;
}

.case-nav-heading {
  padding: 10px 14px;
  color: #fff;
  background: #187a5a;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.document-workspace {
  display: grid;
  grid-template-columns: 210px minmax(0, 1fr);
  gap: 18px;
}

.folder-browser {
  display: grid;
  align-content: start;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
}

.folder-browser-heading,
.folder-browser a {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 11px 13px;
  border-bottom: 1px solid var(--line);
}

.folder-browser-heading {
  background: #f3f7fb;
}

.folder-browser-heading span,
.folder-browser b {
  color: var(--muted);
  font-size: 11px;
}

.folder-browser a {
  color: #24578d;
  font-size: 12px;
}

.folder-browser a.active,
.folder-browser a:hover {
  color: #07583c;
  background: #dcf4e9;
}

.folder-browser-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  border-bottom: 1px solid var(--line);
}

.folder-browser-row > a {
  min-width: 0;
  border-bottom: 0;
}

.folder-remove-form {
  display: flex;
  align-items: center;
  padding-right: 7px;
}

.folder-remove-button {
  width: 27px;
  height: 27px;
  padding: 0;
  border: 1px solid transparent;
  border-radius: 6px;
  color: #8b1e2d;
  background: transparent;
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
}

.folder-remove-button:hover:not(:disabled) {
  border-color: #e4b7be;
  background: #fff0f2;
}

.folder-remove-button:disabled {
  color: #aab2ba;
  cursor: not-allowed;
}

.new-folder-form {
  display: grid;
  gap: 8px;
  padding: 13px;
}

.new-folder-form label,
.move-document-form label {
  font-size: 11px;
}

.document-main {
  display: grid;
  gap: 18px;
}

.folder-document-row {
  grid-template-columns: auto minmax(0, 1fr) minmax(220px, 0.6fr);
}

.move-document-form {
  display: flex;
  align-items: end;
  gap: 8px;
}

.move-document-form label {
  flex: 1;
}

.deadline-display {
  display: grid;
  gap: 6px;
  margin: 22px 0;
}

.deadline-display strong {
  color: #8b1e2d;
  font-size: clamp(28px, 4vw, 46px);
}

.deadline-display span {
  color: var(--muted);
}

.case-pulse-panel {
  display: grid;
  gap: 20px;
}

.case-pulse-summary {
  display: flex;
  align-items: center;
  gap: 18px;
}

.case-pulse-summary h2,
.case-pulse-summary p {
  margin-top: 0;
  margin-bottom: 4px;
}

.pulse-score {
  flex: 0 0 92px;
  width: 92px;
  height: 92px;
  display: grid;
  place-content: center;
  text-align: center;
  border: 9px solid #ccecdf;
  border-radius: 50%;
  background: #f4fcf8;
  color: #07583c;
}

.pulse-score strong {
  font-size: 29px;
  line-height: 1;
}

.pulse-score span {
  color: var(--muted);
  font-size: 11px;
}

.pulse-category-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.pulse-category {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 11px;
  border: 1px solid var(--line);
  border-radius: 9px;
  color: var(--ink);
  background: #fbfcfe;
}

.pulse-category span {
  color: var(--muted);
  font-size: 11px;
}

.pulse-category strong {
  font-size: 16px;
}

.pulse-category.complete {
  border-color: #b7e5d1;
  background: #eefaf4;
}

.pulse-category.attention {
  border-color: #f2d68a;
  background: #fffaf0;
}

.pulse-category.not-tracked {
  border-style: dashed;
}

.waiting-panel {
  background: linear-gradient(145deg, #11233f, #1e4774);
  color: #fff;
}

.waiting-panel .eyebrow,
.waiting-panel p {
  color: #cfdef1;
}

.waiting-panel .big-number {
  color: #fff;
}

.waiting-button {
  margin-top: 12px;
  background: #fff;
  color: #163a65;
}

.next-action-row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 13px;
  align-items: start;
  padding: 13px 0;
  border-bottom: 1px solid var(--line);
}

.next-action-row:last-child {
  border-bottom: 0;
}

.next-action-row p {
  margin: 3px 0;
  color: #475467;
  font-size: 13px;
}

.next-action-row small {
  color: var(--muted);
}

.next-action-controls,
.condition-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 9px;
  flex-wrap: wrap;
}

.next-action-controls {
  align-items: flex-end;
  flex-direction: column;
}

.next-action-controls form,
.condition-actions form {
  margin: 0;
}

.waiting-nav {
  color: #8b1e2d !important;
  font-weight: 800 !important;
}

.waiting-hero {
  background: #f4fcf8;
  border-color: #b7e5d1;
}

.waiting-summary {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-top: 16px;
}

.waiting-summary strong {
  padding: 8px 11px;
  border-radius: 8px;
  background: #07583c;
  color: #fff;
}

.waiting-summary span {
  color: var(--muted);
  font-size: 12px;
}

.pulse-detail-card {
  grid-column: span 3;
  scroll-margin-top: 85px;
}

.pulse-detail-card.not-tracked {
  border-style: dashed;
}

.pulse-detail-score {
  align-self: start;
  padding: 7px 10px;
  border-radius: 8px;
  background: #eef1f5;
  color: #344054;
  font-weight: 800;
  font-size: 13px;
}

.pulse-check {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  gap: 11px;
  padding: 15px 0;
  border-top: 1px solid var(--line);
}

.pulse-check p {
  margin: 4px 0;
  color: #475467;
  font-size: 13px;
}

.pulse-check small {
  display: block;
  color: var(--muted);
}

.pulse-check-mark {
  width: 25px;
  height: 25px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  font-weight: 850;
}

.pulse-check.complete .pulse-check-mark {
  color: #146b4c;
  background: #e7f6ef;
}

.pulse-check.attention .pulse-check-mark {
  color: #8a5100;
  background: #fff1e2;
}

.pulse-check.not-tracked .pulse-check-mark {
  color: #667085;
  background: #eef1f5;
}

.projected-pulse {
  display: inline-block;
  margin-top: 9px;
  padding: 5px 8px;
  border-radius: 7px;
  background: #eaf1ff;
  color: #315ea8;
  font-size: 11px;
  font-weight: 750;
}

.condition-link {
  display: inline-block;
  margin: 9px 0 0 10px;
  font-size: 12px;
  font-weight: 750;
}

.case-state-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
  margin-top: 18px;
}

.case-state-entry {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 12px;
  border: 1px solid var(--line);
  border-left: 4px solid #f0b75d;
  border-radius: 9px;
  color: var(--ink);
  background: #fff;
}

.case-state-entry.complete {
  border-left-color: #269b70;
}

.case-state-entry.not-tracked {
  border-left-color: #98a2b3;
  border-style: dashed;
}

.case-state-entry span {
  color: var(--muted);
  font-size: 11px;
}

.case-state-entry strong {
  overflow-wrap: anywhere;
  font-size: 13px;
}

.task-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 13px;
  align-items: start;
  padding: 16px 0;
  border-bottom: 1px solid var(--line);
}

.task-card:last-child {
  border-bottom: 0;
}

.task-card.completed > div {
  opacity: 0.65;
}

.task-card.completed .task-card-heading strong {
  text-decoration: line-through;
}

.task-card p {
  margin: 6px 0;
  color: #475467;
  font-size: 13px;
}

.task-card small {
  color: var(--muted);
}

.task-toggle {
  width: 31px;
  height: 31px;
  padding: 0;
  border: 1px solid #bfd0ef;
  border-radius: 50%;
  color: #2563eb;
  background: #f5f8ff;
  font-size: 18px;
  cursor: pointer;
}

.task-card.completed .task-toggle {
  border-color: #b7e5d1;
  color: #146b4c;
  background: #e7f6ef;
}

.task-card-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.task-priority {
  display: inline-block;
  padding: 3px 7px;
  border-radius: 99px;
  background: #eef1f5;
  color: #5b687a;
  font-size: 9px;
  font-weight: 850;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.task-priority.high,
.task-priority.urgent {
  background: #ffedeb;
  color: #b42318;
}

.task-priority.medium {
  background: #fff1e2;
  color: #8a5100;
}

.task-priority.low {
  background: #eaf1ff;
  color: #315ea8;
}

.task-stat-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 13px;
  margin-bottom: 18px;
}

.task-stat-grid a {
  display: grid;
  gap: 2px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 12px;
  color: var(--ink);
  background: #fff;
}

.task-stat-grid span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 750;
  text-transform: uppercase;
}

.task-stat-grid strong {
  font-size: 27px;
}

.task-stat-grid .overdue strong {
  color: #b42318;
}

.task-filter-bar {
  display: flex;
  align-items: end;
  gap: 10px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 12px;
  margin-bottom: 18px;
  background: #fff;
}

.task-filter-bar label {
  min-width: 150px;
  font-size: 11px;
}

.task-dashboard-list {
  padding-top: 8px;
  padding-bottom: 8px;
}

.task-case-link {
  display: inline-block;
  margin-top: 3px;
  font-size: 12px;
  font-weight: 750;
}

.contact-cadence-summary {
  display: grid;
  gap: 4px;
  padding: 14px;
  border-radius: 10px;
  background: #f4fcf8;
  color: #07583c;
}

.contact-cadence-summary span {
  color: #475467;
  font-size: 12px;
}

.communication-card {
  display: grid;
  gap: 10px;
  padding: 16px 0;
  border-bottom: 1px solid var(--line);
}

.communication-card.draft {
  padding: 16px;
  border: 1px solid #bfd0ef;
  border-radius: 10px;
  margin-top: 14px;
  background: #f5f8ff;
}

.communication-card p {
  margin: 0;
  white-space: pre-wrap;
}

.communication-meta {
  display: flex;
  align-items: center;
  gap: 9px;
  flex-wrap: wrap;
}

.communication-meta small {
  color: var(--muted);
}

.communication-channel {
  padding: 3px 7px;
  border-radius: 6px;
  color: #315ea8;
  background: #eaf1ff;
  font-size: 9px;
  font-weight: 850;
}

.communication-decisions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
}

.communication-stat {
  display: grid;
  gap: 2px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 12px;
  color: var(--ink);
  background: #fff;
}

.communication-stat span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 750;
  text-transform: uppercase;
}

.communication-stat strong {
  font-size: 27px;
}

.communication-stat.overdue strong {
  color: #b42318;
}

.records-provider-card,
.records-request-list,
.records-request-card,
.request-recommendation,
.request-follow-up {
  display: grid;
  gap: 10px;
}

.request-recommendation {
  padding: 12px 14px;
  border: 1px solid #b7d8ca;
  border-radius: 10px;
  background: #f0faf6;
}

.request-recommendation span,
.records-request-heading small {
  color: var(--muted);
}

.request-generator {
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 10px;
}

.request-generator summary {
  cursor: pointer;
  font-weight: 800;
}

.records-request-card {
  padding: 16px;
  border: 1px solid var(--line);
  border-left: 4px solid #7d8da5;
  border-radius: 10px;
  background: #fff;
}

.records-request-card.draft {
  border-left-color: #315ea8;
}

.records-request-card.sent {
  border-left-color: #d97706;
}

.records-request-card.fulfilled {
  border-left-color: #22855e;
}

.records-request-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.records-request-heading > div {
  display: grid;
  gap: 3px;
}

.records-request-body {
  overflow: auto;
  padding: 14px;
  border-radius: 8px;
  white-space: pre-wrap;
  color: var(--ink);
  background: #f7f9fc;
  font: inherit;
}

.request-follow-up {
  grid-template-columns: 1fr auto;
  padding: 10px 12px;
  border-radius: 8px;
  background: #fff5db;
}

.request-follow-up.overdue {
  color: #b42318;
  background: #fff0ee;
}

.request-cancel-form {
  justify-self: end;
}

.negotiation-stat-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.negotiation-stat {
  display: grid;
  gap: 3px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #f9fbfd;
}

.negotiation-stat span,
.negotiation-stat small,
.negotiation-claim-row small,
.negotiation-event small {
  color: var(--muted);
}

.negotiation-stat span {
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
}

.negotiation-stat strong {
  font-size: 22px;
}

.negotiation-insight {
  padding: 9px 11px;
  border-radius: 8px;
  background: #f4f7fb;
}

.negotiation-insight.strength {
  color: #176344;
  background: #edf9f4;
}

.negotiation-insight.weakness {
  color: #9a3412;
  background: #fff5ed;
}

.negotiation-claim-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 12px 0;
  border-bottom: 1px solid var(--line);
}

.negotiation-claim-row > div {
  display: grid;
  gap: 3px;
}

.negotiation-timeline {
  display: grid;
  gap: 0;
  margin-top: 16px;
}

.negotiation-event {
  display: grid;
  grid-template-columns: 110px minmax(0, 1fr);
  gap: 18px;
  padding: 16px 0;
  border-top: 1px solid var(--line);
}

.negotiation-event time {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.negotiation-event > div {
  display: grid;
  gap: 7px;
}

.negotiation-amount {
  color: #176344;
  font-size: 19px;
  font-weight: 850;
}

.settlement-source-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.settlement-source-grid > div {
  display: grid;
  gap: 4px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #f9fbfd;
}

.settlement-source-grid span,
.settlement-source-grid small,
.settlement-scenario small {
  color: var(--muted);
}

.settlement-source-grid span {
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
}

.settlement-source-grid strong {
  font-size: 20px;
}

.settlement-form input[type="range"] {
  width: 100%;
  accent-color: #269b70;
}

.confirmation-check {
  align-self: end;
  display: flex;
  align-items: center;
  min-height: 42px;
  gap: 8px;
  padding: 9px 11px;
  border: 1px solid var(--line);
  border-radius: 8px;
  color: var(--ink);
  background: #f9fbfd;
}

.confirmation-check input {
  width: auto;
}

.settlement-scenario-list,
.settlement-scenario {
  display: grid;
  gap: 14px;
}

.settlement-scenario {
  padding: 16px;
  border: 1px solid var(--line);
  border-left: 4px solid #315ea8;
  border-radius: 10px;
  background: #fff;
}

.settlement-scenario .section-heading > div {
  display: grid;
  gap: 4px;
}

.scenario-net {
  color: #176344;
  font-size: 20px;
}

.scenario-calculation {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.scenario-calculation > span {
  display: grid;
  gap: 3px;
  padding: 10px;
  border-radius: 8px;
  background: #f5f7fa;
}

.confirmed-value {
  color: #176344 !important;
}

.estimated-value,
.scenario-warning {
  color: #9a3412 !important;
}

.scenario-warning {
  padding: 9px 11px;
  border-radius: 8px;
  background: #fff5ed;
  font-weight: 800;
}

.final-balance-workspace {
  margin-top: 18px;
}

.balance-card,
.balance-summary {
  display: grid;
  gap: 10px;
}

.balance-summary {
  padding: 12px;
  border-radius: 9px;
  background: #f4f7fb;
}

.balance-summary strong {
  color: #176344;
  font-size: 24px;
}

.balance-summary span,
.balance-summary small {
  color: var(--muted);
}

.missing-money-finding {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 12px;
  padding: 16px 0;
  border-top: 1px solid var(--line);
}

.missing-money-finding.proposal {
  padding: 16px;
  border: 1px solid #c8d6ef;
  border-radius: 10px;
  background: #f5f8ff;
}

.missing-money-finding > div {
  display: grid;
  gap: 7px;
}

.supported-amount {
  color: #9a3412;
  font-size: 12px;
  font-weight: 850;
}

.missing-money-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 4px;
}

.span-3 {
  grid-column: 1 / -1;
}

.contradiction-workspace {
  align-items: start;
}

.contradiction-card {
  display: grid;
  gap: 14px;
  margin-top: 16px;
  padding: 16px;
  border: 1px solid var(--line);
  border-left: 4px solid #b7791f;
  border-radius: 10px;
  background: #fff;
}

.contradiction-card.confirmed {
  border-left-color: #b42318;
}

.contradiction-card.dismissed,
.contradiction-card.resolved {
  border-left-color: #269b70;
  background: #f7fbf9;
}

.contradiction-heading,
.contradiction-heading > div,
.contradiction-decision-form > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 9px;
}

.statement-comparison {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.statement-comparison section {
  display: grid;
  align-content: start;
  gap: 8px;
  min-width: 0;
  padding: 14px;
  border: 1px solid #d8e0eb;
  border-radius: 9px;
  background: #f7f9fc;
}

.statement-comparison small {
  color: #315ea8;
  font-weight: 850;
  text-transform: uppercase;
  letter-spacing: .06em;
}

.statement-comparison blockquote {
  margin: 0;
  color: var(--ink);
  font-size: 15px;
  line-height: 1.55;
}

.statement-comparison p,
.contradiction-recommendation,
.resolution-note {
  margin: 0;
}

.statement-comparison p {
  overflow-wrap: anywhere;
  color: var(--muted);
  font-size: 12px;
}

.contradiction-recommendation,
.resolution-note {
  padding: 10px 12px;
  border-radius: 8px;
  background: #f5f7fa;
}

.contradiction-decision-form {
  display: grid;
  gap: 10px;
  padding-top: 12px;
  border-top: 1px solid var(--line);
}

.defense-stress-workspace {
  align-items: start;
}

.defense-score-panel {
  position: sticky;
  top: 16px;
}

.defense-score {
  display: flex;
  align-items: baseline;
  gap: 5px;
  margin: 16px 0 8px;
  color: #173f6b;
}

.defense-score strong {
  font-size: 62px;
  line-height: .9;
}

.defense-score span {
  color: var(--muted);
  font-size: 20px;
  font-weight: 800;
}

.stress-check-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 9px;
  margin-top: 14px;
}

.stress-check {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  gap: 9px;
  padding: 11px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8fafc;
}

.stress-check > span {
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  color: #fff;
  background: #a45d12;
  font-weight: 900;
}

.stress-check.passed > span {
  background: #238060;
}

.stress-check.not-assessed > span {
  color: #526174;
  background: #e7ebf0;
}

.stress-check p,
.stress-check small,
.unassessed-risk p {
  margin: 4px 0 0;
  color: var(--muted);
  font-size: 12px;
}

.defense-finding {
  display: grid;
  gap: 12px;
  margin-top: 14px;
  padding: 16px;
  border: 1px solid var(--line);
  border-left: 4px solid #b7791f;
  border-radius: 10px;
  background: #fff;
}

.defense-finding.high {
  border-left-color: #b42318;
}

.defense-finding.low {
  border-left-color: #315ea8;
}

.defense-finding-heading,
.defense-finding-heading > div,
.defense-address-row,
.defense-address-row > div:last-child {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 9px;
}

.defense-source-list {
  display: grid;
  gap: 5px;
  padding: 10px 12px;
  border-radius: 8px;
  background: #f5f7fa;
  font-size: 12px;
}

.defense-source-list span::before {
  content: "• ";
  color: #315ea8;
}

.defense-address-row {
  align-items: flex-end;
  padding-top: 10px;
  border-top: 1px solid var(--line);
}

.defense-address-row > div:first-child {
  flex: 1 1 340px;
}

.defense-address-row p {
  margin: 4px 0 0;
}

.unassessed-risk {
  padding: 11px 0;
  border-top: 1px solid var(--line);
}

.demand-workspace {
  align-items: start;
}

.demand-control-steps,
.demand-section-list,
.demand-draft-card {
  display: grid;
  gap: 12px;
}

.demand-control-steps span {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  align-items: center;
  gap: 9px;
  padding: 10px;
  border-radius: 8px;
  background: #f5f7fa;
}

.demand-control-steps b {
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  color: #fff;
  background: #315ea8;
}

.demand-review-progress,
.demand-section-heading,
.demand-section-actions,
.attorney-review-form,
.attorney-review-record {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px;
}

.demand-review-progress {
  padding: 10px 12px;
  border-radius: 8px;
  color: #31506f;
  background: #eef4fb;
}

.demand-instructions,
.attorney-review-record {
  padding: 12px;
  border: 1px solid #d8e0eb;
  border-radius: 9px;
  background: #f8fafc;
}

.demand-instructions p,
.attorney-review-record p {
  margin: 5px 0;
}

.demand-section {
  display: grid;
  gap: 12px;
  padding: 16px;
  border: 1px solid var(--line);
  border-left: 4px solid #b7791f;
  border-radius: 10px;
  background: #fff;
}

.demand-section.verified {
  border-left-color: #238060;
}

.demand-section.excluded {
  border-left-color: #7d8897;
  background: #f5f6f8;
  opacity: .82;
}

.demand-section-heading {
  justify-content: flex-start;
}

.demand-section textarea {
  font-family: Georgia, "Times New Roman", serif;
  line-height: 1.55;
}

.demand-citations {
  display: grid;
  gap: 7px;
  padding: 12px;
  border-radius: 9px;
  background: #f5f8fc;
}

.demand-citations details {
  padding: 7px 9px;
  border: 1px solid #d8e0eb;
  border-radius: 7px;
  background: #fff;
}

.demand-citations summary {
  cursor: pointer;
  font-size: 12px;
  font-weight: 750;
}

.demand-citations details p {
  margin: 8px 0 0;
  color: var(--muted);
  font-size: 12px;
}

.citation-kind {
  display: inline-block;
  margin-right: 5px;
  padding: 2px 6px;
  border-radius: 999px;
  color: #315ea8;
  background: #eaf1fc;
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}

.citation-kind.document {
  color: #176344;
  background: #e6f5ef;
}

.demand-section-actions {
  justify-content: flex-end;
  padding-top: 10px;
  border-top: 1px solid var(--line);
}

.attorney-review-form {
  align-items: flex-end;
  padding: 16px;
  border: 2px solid #b8cae5;
  border-radius: 10px;
  background: #f5f8ff;
}

.attorney-review-form label {
  flex: 1 1 480px;
}

.attorney-review-record {
  color: #176344;
  border-color: #a7d8c6;
  background: #eff9f5;
}

.communications-workspace {
  display: grid;
  gap: 16px;
}

.communication-thread-layout {
  display: grid;
  grid-template-columns: minmax(230px, .75fr) minmax(0, 2fr);
  gap: 16px;
  align-items: start;
}

.communication-thread-list {
  display: grid;
  gap: 8px;
  padding: 10px;
  max-height: 720px;
  overflow-y: auto;
}

.thread-search {
  display: grid;
  gap: 7px;
  padding: 6px;
}

.thread-list-item {
  display: grid;
  gap: 5px;
  padding: 11px;
  border: 1px solid var(--line);
  border-radius: 8px;
  color: var(--ink);
  background: #fff;
  text-decoration: none;
}

.thread-list-item.active {
  border-color: #7fa1d1;
  box-shadow: inset 4px 0 #315ea8;
  background: #f3f7fd;
}

.thread-list-item > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 7px;
}

.thread-list-item small {
  color: var(--muted);
}

.thread-conversation {
  display: grid;
  gap: 14px;
}

.message-thread {
  display: grid;
  gap: 10px;
  max-height: 560px;
  padding: 12px;
  overflow-y: auto;
  border-radius: 10px;
  background: #f1f4f8;
}

.message-bubble {
  display: grid;
  gap: 7px;
  width: min(78%, 720px);
  padding: 12px 14px;
  border: 1px solid #d7e0eb;
  border-radius: 12px 12px 12px 3px;
  background: #fff;
}

.message-bubble.outbound {
  justify-self: end;
  border-color: #a9c2e5;
  border-radius: 12px 12px 3px 12px;
  background: #eaf2fd;
}

.message-bubble.draft {
  border-style: dashed;
  background: #fff8e8;
}

.message-bubble.discarded {
  opacity: .58;
}

.message-bubble > div:first-child {
  display: grid;
  gap: 2px;
}

.message-bubble small,
.thread-reply-form small {
  color: var(--muted);
}

.message-bubble p {
  margin: 0;
  white-space: pre-wrap;
}

.thread-reply-form {
  display: grid;
  gap: 10px;
  padding: 14px;
  border: 1px solid #b9cbe3;
  border-radius: 10px;
  background: #f7faff;
}

@media (max-width: 650px) {
  .primary-nav {
    margin-left: 12px;
  }

  .primary-nav a {
    padding: 7px 8px;
  }

  .topbar-right {
    gap: 10px;
  }

  .detail-grid {
    grid-template-columns: 1fr 1fr;
  }

  .insurance-head,
  .inline-status-form {
    align-items: stretch;
    flex-direction: column;
  }

  .case-workspace,
  .document-workspace {
    grid-template-columns: 1fr;
  }

  .case-section-sidebar {
    position: static;
    display: flex;
    overflow-x: auto;
    border-radius: 8px;
  }

  .case-section-sidebar a,
  .case-nav-heading {
    flex: 0 0 auto;
    border-right: 1px solid var(--line);
    border-bottom: 0;
  }

  .case-section-sidebar a.active {
    box-shadow: inset 0 -4px #269b70;
  }

  .folder-document-row {
    grid-template-columns: auto 1fr;
  }

  .move-document-form {
    grid-column: 1 / -1;
  }

  .case-pulse-summary,
  .waiting-summary {
    align-items: flex-start;
    flex-direction: column;
  }

  .pulse-category-grid,
  .case-state-grid {
    grid-template-columns: 1fr 1fr;
  }

  .pulse-detail-card {
    grid-column: auto;
  }

  .next-action-row {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .next-action-row > a {
    grid-column: 2;
  }

  .next-action-controls {
    grid-column: 2;
    align-items: flex-start;
  }

  .condition-actions,
  .task-filter-bar {
    align-items: stretch;
    flex-direction: column;
  }

  .task-stat-grid {
    grid-template-columns: 1fr 1fr;
  }

  .task-card {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .task-card > a {
    grid-column: 2;
    justify-self: start;
  }

  .negotiation-stat-grid {
    grid-template-columns: 1fr 1fr;
  }

  .settlement-source-grid,
  .scenario-calculation,
  .statement-comparison {
    grid-template-columns: 1fr 1fr;
  }

  .statement-comparison {
    grid-template-columns: 1fr;
  }

  .defense-score-panel {
    position: static;
  }

  .stress-check-grid {
    grid-template-columns: 1fr;
  }

  .demand-section-actions,
  .attorney-review-form {
    align-items: stretch;
    flex-direction: column;
  }

  .communication-thread-layout {
    grid-template-columns: 1fr;
  }

  .communication-thread-list {
    max-height: 320px;
  }

  .message-bubble {
    width: 92%;
  }

  .negotiation-event {
    grid-template-columns: 1fr;
    gap: 5px;
  }
}

.email-workspace { align-items: start; }
.case-email-address { padding: .8rem; border: 1px solid #cbd5e1; border-radius: .55rem; background: #f8fafc; overflow-wrap: anywhere; margin: .7rem 0; }
.case-email-address code { color: #0f5132; font-weight: 700; }
.email-attachment-picker { border: 1px solid #d8dee8; border-radius: .55rem; padding: .8rem; max-height: 13rem; overflow: auto; }
.email-attachment-picker legend { padding: 0 .35rem; font-weight: 700; }
.check-row { display: flex !important; flex-direction: row !important; align-items: center; gap: .45rem; font-weight: 500 !important; }
.check-row input { width: auto; }
.email-envelope { display: grid; gap: .25rem; padding: .65rem; margin: .65rem 0; border-radius: .5rem; background: rgba(255,255,255,.58); font-size: .82rem; }
.email-envelope div { display: grid; grid-template-columns: 4.2rem 1fr; gap: .45rem; }
.email-envelope dt { color: var(--muted); font-weight: 700; }
.email-envelope dd { margin: 0; overflow-wrap: anywhere; }
.email-attachment-list { display: flex; flex-wrap: wrap; gap: .45rem; align-items: center; margin-top: .7rem; font-size: .82rem; }
.email-attachment-list span { border: 1px solid #d8dee8; border-radius: 999px; padding: .25rem .55rem; background: #fff; }

.assistant-case-row { display: grid; grid-template-columns: minmax(180px, .8fr) minmax(260px, 2fr) auto; gap: 18px; align-items: center; padding: 16px 0; border-bottom: 1px solid #e5e7eb; }
.assistant-case-row:last-child { border-bottom: 0; }
.assistant-case-row div:first-child { display: grid; gap: 4px; }
.assistant-case-row small { color: var(--muted); }
.assistant-issues { display: flex; flex-wrap: wrap; gap: 6px; }
.assistant-issues span { padding: 5px 9px; border-radius: 999px; background: #fff7ed; border: 1px solid #fed7aa; color: #9a3412; font-size: .78rem; }
.firm-ai-focus { display: flex; align-items: end; gap: 12px; }
.firm-ai-focus label { flex: 1; }
.approval-card blockquote { margin: 9px 0; padding: 9px 12px; border-left: 3px solid #94a3b8; background: #f8fafc; color: #334155; }
.voice-action-workspace { margin-top: 18px; }

@media (max-width: 780px) {
  .assistant-case-row { grid-template-columns: 1fr; }
  .firm-ai-focus { align-items: stretch; flex-direction: column; }
}
