/* Domain service profile: the few things tools.css doesn't cover.
   The headline sentences, lists of records that back a conclusion, and
   the tenant name. */

.headline { display: grid; gap: 8px; min-width: 0; }
.headline p { margin: 0; font-size: 14.5px; line-height: 1.55; color: var(--ink-2); overflow-wrap: anywhere; }
.headline p:first-child { font-size: 19px; line-height: 1.4; font-weight: 600; letter-spacing: -.015em; color: var(--ink); }
.headline .tenant-name { font-family: var(--font-mono); font-size: .92em; }

/* The records behind a conclusion */
ul.evidence { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; min-width: 0; }
ul.evidence > li { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 10px; min-width: 0; font-size: 13.5px; }
ul.evidence .record { font-family: var(--font-mono); font-size: 12.5px; color: var(--ink); overflow-wrap: anywhere; min-width: 0; }
ul.evidence .why { color: var(--ink-3); font-size: 12.5px; }

/* Posture rows: area, verdict in words, what was found */
ul.posture { list-style: none; margin: 0; padding: 0; display: grid; }
ul.posture > li { display: grid; grid-template-columns: minmax(110px, 150px) 112px minmax(0, 1fr); gap: 4px 14px; align-items: baseline; padding: 11px 0; border-top: 1px solid var(--line); min-width: 0; }
ul.posture > li:first-child { border-top: 0; padding-top: 2px; }
ul.posture .area { font-size: 14.5px; font-weight: 600; color: var(--ink); }
ul.posture .found { display: grid; gap: 6px; min-width: 0; font-size: 13.5px; line-height: 1.5; color: var(--ink-3); overflow-wrap: anywhere; }
ul.posture .found p { margin: 0; }
@media (max-width: 620px) {
  ul.posture > li { grid-template-columns: minmax(0, 1fr) auto; }
  ul.posture .found { grid-column: 1 / -1; }
}

.tool-links { display: flex; flex-wrap: wrap; gap: 4px 16px; font-size: 13px; }
.card-body > .actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
