/* The PriorAuth client's styles: native elements, visible focus, no colour as the only signal (WCAG 2.1 AA, chosen in step 10). */
:root { font-family: system-ui, sans-serif; color: #1b1f24; background: #fff; --line: #c9ced6; --accent: #0b5cad; --warn: #8a4b00; --ok: #1d6b34; }
body { margin: 0; line-height: 1.45; }
main { padding: 1rem 1.5rem; max-width: 72rem; }
a { color: var(--accent); }
:focus-visible { outline: 3px solid var(--accent); outline-offset: 2px; }
.shell { display: flex; gap: 1rem; align-items: center; padding: .5rem 1.5rem; border-bottom: 1px solid var(--line); flex-wrap: wrap; }
.shell nav { display: flex; gap: .75rem; flex-wrap: wrap; flex: 1; }
.shell nav a[aria-current="page"] { font-weight: 700; text-decoration: none; }
.brand { font-weight: 700; }
.badge { min-width: 1.5rem; text-align: center; border: 1px solid var(--line); border-radius: 1rem; padding: 0 .4rem; text-decoration: none; }
label { display: block; margin: .4rem 0; }
input, select, textarea { font: inherit; display: block; margin-top: .15rem; min-width: 16rem; }
textarea { min-height: 4rem; width: 100%; max-width: 40rem; }
button { font: inherit; margin: .2rem .3rem .2rem 0; }
table { border-collapse: collapse; width: 100%; margin: .5rem 0; }
th, td { border-bottom: 1px solid var(--line); text-align: left; padding: .3rem .5rem; vertical-align: top; }
.fields { display: grid; grid-template-columns: repeat(auto-fill, minmax(18rem, 1fr)); gap: 0 1rem; }
.checklist ul { list-style: none; padding: 0; }
.checklist li { padding: .25rem 0; border-bottom: 1px solid var(--line); }
.checklist .label { display: inline-block; min-width: 11rem; font-weight: 600; }
.checklist li[data-outcome="Met"] .label::before, .checklist li[data-outcome="Attested"] .label::before { content: "✓ "; color: var(--ok); }
.checklist li[data-outcome="Missing"] .label::before { content: "○ "; }
.checklist li[data-outcome="Awaiting policy clarification"] .label { color: var(--warn); }
.banner { border: 2px solid var(--warn); padding: .5rem 1rem; margin: .5rem 0; }
.failure { border: 2px solid #a40e26; padding: .5rem 1rem; margin: .5rem 0; }
.dialog { border: 1px solid var(--line); padding: 1rem; margin: 1rem 0; box-shadow: 0 2px 10px rgba(0,0,0,.15); background: #fff; }
.document-text { white-space: pre-wrap; border: 1px solid var(--line); padding: .75rem; max-height: 24rem; overflow: auto; }
mark { background: #fff1a8; }
mark.chosen { outline: 2px solid var(--accent); }
.outcome { border-left: 6px solid var(--accent); padding: .25rem 1rem; margin: 1rem 0; }
.outcome.approved { border-color: var(--ok); }
.unmeasured { font-style: italic; }
.columns { display: grid; grid-template-columns: minmax(14rem, 1fr) 3fr; gap: 1rem; }
.diff ins { background: #d8f5dc; } .diff del { background: #fadadd; }
