.gz-source-anchor { vertical-align: middle; }
.gz-source-trigger { width: 24px; height: 24px; color: #24658c; background: #edf5fa; border: 0; transition: background .15s; vertical-align: middle; }
.gz-source-icon { width: 20px; height: 20px; }
.gz-source-trigger, [data-evidence-tooltip-trigger], [data-agent-source-ref-trigger] { --citation-hit-area: 24px; position: relative; transform: scale(.85); }
.gz-source-trigger::before, [data-evidence-tooltip-trigger]::before, [data-agent-source-ref-trigger]::before { position: absolute; content: ''; width: calc(var(--citation-hit-area) / .85); height: calc(var(--citation-hit-area) / .85); left: 50%; top: 50%; transform: translate(-50%, -50%); }
.gz-source-trigger:hover, .gz-source-trigger[aria-expanded="true"] { background: #dfeef7; color: #075985; }
.gz-source-trigger.gz-source-incomplete { color: #92400e; background: #fffbeb; }
.gz-source-hint { position: absolute; z-index: 2147483647; max-width: calc(100vw - 24px); padding: 5px 9px; border-radius: 5px; background: #203b51; color: #fff; font: 12px/1.4 Lato, sans-serif; white-space: nowrap; box-shadow: 0 2px 8px #12365220; }
.gz-source-count { position: absolute; top: -4px; right: -4px; min-width: 14px; padding: 0 3px; border: 1px solid white; border-radius: 999px; background: #0284c7; color: white; font-size: 9px; line-height: 13px; font-weight: 600; text-align: center; }
.gz-source-popup { position: absolute; z-index: 2147483647; box-sizing: border-box; width: min(460px, calc(100vw - 24px)); max-width: calc(100vw - 24px); max-height: min(65dvh, 560px); overflow: hidden; border: 1px solid #dce6ee; border-radius: 12px; background: white; color: #243b53; box-shadow: 0 16px 40px -12px #12365240; font-family: Lato, sans-serif; font-size: 13px; line-height: 1.55; text-align: left; white-space: normal; overflow-wrap: anywhere; }
.gz-source-popup:not([hidden]) { display: flex; flex-direction: column; }
.gz-source-header { display: flex; align-items: center; flex-shrink: 0; gap: 8px; padding: 5px 12px; border-bottom: 1px solid #edf2f6; background: #fafcfe; font-size: 12px; font-weight: 600; }
.gz-source-instruction { margin-left: auto; color: #61758a; font-size: 11px; font-weight: 400; line-height: 1.3; text-align: right; max-width: 205px; }
.gz-source-total { color: #61758a; font-weight: 400; }
.gz-source-close { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 20px; width: 20px; height: 20px; margin-left: auto; border-radius: 5px; color: #61758a; }
.gz-source-close:hover { background: #e8eef3; color: #243b53; }
.gz-source-close svg { width: 15px; height: 15px; }
.gz-source-trigger:focus-visible, .gz-source-close:focus-visible, .gz-source-text-action:focus-visible, .gz-source-quote-link:focus-visible { outline: 2px solid #0284c7; outline-offset: 2px; }
.gz-source-body { display: block; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 0 12px 10px; }
.gz-source-document { display: block; padding-top: 10px; }
.gz-source-document + .gz-source-document { margin-top: 10px; border-top: 1px solid #e8eef3; }
.gz-source-document-title { display: block; color: #173d5b; font-weight: 700; line-height: 1.4; }
.gz-source-passage { display: block; margin-top: 8px; }
.gz-source-location { display: block; margin-bottom: 4px; color: #61758a; font-size: 12px; }
.gz-source-quote-line { display: block; }
.gz-source-quote { display: inline; }
.gz-source-quote-link { color: inherit; text-decoration: none; border-radius: 3px; }
.gz-source-quote-link:hover { color: #075985; background: #edf6fc; text-decoration: underline; text-decoration-color: #93bdd5; text-underline-offset: 3px; }
.gz-source-text-action { display: inline; margin-left: 3px; color: #0369a1; font-size: 12px; text-decoration: underline; text-underline-offset: 3px; }
.gz-source-unavailable, .gz-source-warning, .gz-source-empty { display: block; margin-top: 8px; color: #7c531c; font-size: 12px; }
.gz-source-empty { padding: 10px 0; color: #61758a; }
@media (pointer: coarse) {
    .gz-source-anchor { margin-inline: 3px; }
    .gz-source-trigger { width: 32px; height: 32px; }
    .gz-source-trigger, [data-evidence-tooltip-trigger], [data-agent-source-ref-trigger] { --citation-hit-area: 44px; }
    .gz-source-close { width: 44px; height: 44px; flex-basis: 44px; }
    .gz-source-text-action { padding-block: 8px; }
}
@media (max-width: 420px) {
    .gz-source-header { flex-wrap: wrap; }
    .gz-source-instruction { order: 3; max-width: none; flex-basis: 100%; margin: 0; text-align: left; }
}

.gz-source-trigger.gz-chat-source--attachment { color:#7545a0; background:#f3edfa; border-color:#dfd0ee; }
.gz-source-trigger.gz-chat-source--attachment:hover,
.gz-source-trigger.gz-chat-source--attachment[aria-expanded="true"] { color:#63338e; background:#e9dcf5; border-color:#c8abe2; }

.eligibility-report { display:flex; flex-direction:column; gap:12px; }
.eligibility-result-tag, .eligibility-requirement-tag { display:inline-flex; align-items:center; align-self:flex-start; width:max-content; max-width:100%; border-radius:6px; padding:2px 7px; font-size:11px; font-weight:600; line-height:18px; white-space:nowrap; background:#f1f5f9; color:#475569; }
.eligibility-result-tag[data-result="likely"], .eligibility-requirement-tag[data-status="yes"] { background:#ecfdf5; color:#047857; }
.eligibility-result-tag[data-result="ineligible"], .eligibility-requirement-tag[data-status="no"] { background:#fff1f2; color:#be123c; }
.eligibility-result-tag[data-result="unlikely"] { background:#fff7ed; color:#9a3412; }
.eligibility-result-tag[data-result="uncertain"], .eligibility-requirement-tag[data-status="missing"], .eligibility-requirement-tag[data-status="verify"] { background:#fffbeb; color:#92400e; }
.eligibility-requirement { border-bottom:1px solid #e2e8f0; padding-bottom:8px; }
.eligibility-requirement summary { display:flex; align-items:baseline; gap:8px; cursor:pointer; font-size:13px; font-weight:600; }
.eligibility-requirement summary::before { content:'›'; flex-shrink:0; transition:transform .15s; }
.eligibility-requirement[open] summary::before { transform:rotate(90deg); }
.eligibility-requirement-title { flex:1; min-width:0; overflow-wrap:anywhere; }
.eligibility-requirement > .agent-markdown { margin-top:8px; }
.eligibility-needed { border:1px solid #e2e8f0; border-radius:8px; padding:10px; }
.eligibility-needed-header { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:6px; }
.eligibility-needed-header h3 { font-size:13px; font-weight:600; }
.eligibility-needed-header button { font-size:12px; color:#6d28d9; border:1px solid #ddd6fe; border-radius:6px; padding:3px 8px; }
.eligibility-needed textarea { width:100%; min-height:140px; font-size:13px; }
.eligibility-requirement summary:focus-visible, .eligibility-needed button:focus-visible { outline:2px solid #8b5cf6; outline-offset:3px; }
@media(max-width:640px) { .eligibility-requirement summary { min-height:44px; } .eligibility-needed-header button { min-height:44px; } }
@media(prefers-reduced-motion:reduce) { .eligibility-requirement summary::before { transition:none; } }
