/* AI summary (infdl_ai/widget_llm_task_type_full_text_tabler.html).

   One look for every summary in the app, whatever it sits in: a tinted band with a bar in
   the accent colour. Not a card — the summary usually lives inside one already (task
   modal, institution card, timeline entry), and a nested card would draw a second frame
   around the first.

   The accent is orange: machine-written text is marked as such wherever it appears, and
   orange is the one tone of the pool that carries no state meaning here — blue is the
   primary colour and would read as an ordinary highlight, green and red as a verdict on
   the content. */
.llm-summary {
    margin-bottom: .75rem;
    padding: .5rem .75rem;
    border-left: 2px solid var(--hda-orange);
    border-radius: var(--tblr-border-radius);
    background: var(--tblr-bg-surface-secondary);
}

/* The label carries the accent as well, in the darker sibling: h_da orange on a light
   surface reaches only 2.6:1, its dark sibling 4.8:1. Same move as .bg-hda-orange-lt. */
.llm-summary-title {
    display: flex;
    align-items: center;
    margin-bottom: .25rem;
    font-size: .75rem;
    font-weight: 600;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: var(--hda-orange-dark);
}

/* Rerun and, for staff, the prompt behind it. Bare icons at the end of the label row: the
   band already sits inside somebody else's card, and a button surface would outweigh both.
   Sized to the label, not to a card header – 1rem next to .75rem of uppercase text. */
.llm-summary-actions {
    display: flex;
    align-items: center;
    gap: .5rem;
    margin-left: auto;
    font-size: 1rem;
    letter-spacing: normal;
}

/* On the dark surface the dark sibling turns into a hole – there the base tone reads. */
[data-bs-theme="dark"] .llm-summary-title {
    color: var(--hda-orange);
}

/* A check that runs while you wait (the consistency check of a practice phase,
   infdl_practicephase/snippets/consistency_check.html). The answer takes its time, so the
   body of the dialog is its own indicator: while htmx is loading, the last result steps
   back and the spinner takes its place. Without this the previous finding would sit there
   on the second open as if it were the new one. */
#ai_consistency_body .ai-consistency-loading {
    display: none;
}

#ai_consistency_body.htmx-request .ai-consistency-loading {
    display: block;
}

#ai_consistency_body.htmx-request .ai-consistency-result {
    display: none;
}
