/*
    Admin > Plaid Health (adp-*): built on the Admin > Users language (adu-*: hero, chips, grid, sheet, pills, tones).
    This file adds only what that page does not have: the two-column row under the hero (webhook chart + institution
    list), the inline SVG chart, the diagnosis block with its findings, the issue / orphan lists, the reference tables,
    the Item sheet's logo, webhook rows with expandable JSON, and the repair cards. Colours come from the adu-* tokens
    (light and dark), so the two admin pages read as one system. Nothing animated carries a drop shadow.
*/

/* ------------------------------------------------------------------ Page */
.adp-page { min-width: 0; }

/* ------------------------------------------------------------------ Hero and row */
.adp-hero .adu-hero-watermark { color: var(--adu-violet); }
.adp-row { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); gap: .75rem; margin-bottom: .9rem; }
@media (max-width: 1100px) { .adp-row { grid-template-columns: 1fr; } }
.adp-card { display: flex; flex-direction: column; gap: .6rem; padding: .9rem 1rem 1rem; min-width: 0; }
.adp-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: .75rem; }
.adp-card-title { margin: 0 0 .2rem; font-size: 1rem; font-weight: 700; letter-spacing: -.01em; }
.adp-card-title i { margin-right: .35rem; color: var(--adu-violet); }

/* ------------------------------------------------------------------ Webhook chart (inline SVG) */
.adp-chart { position: relative; margin: 0; display: grid; gap: .35rem; }
.adp-chart-svg { width: 100%; height: 150px; display: block; overflow: visible; }
.adp-chart-grid { stroke: var(--adu-card-border); stroke-width: 1; vector-effect: non-scaling-stroke; }
.adp-chart-hit { fill: transparent; }
.adp-chart-bar.is-hover .adp-chart-hit { fill: var(--adu-surface); }
.adp-chart-seg { stroke: var(--adu-card); stroke-width: 1; vector-effect: non-scaling-stroke; }
.adp-chart-seg.is-completed { fill: var(--adu-positive); }
.adp-chart-seg.is-skipped { fill: var(--adu-light); opacity: .75; }
.adp-chart-seg.is-failed { fill: var(--adu-critical); }
.adp-chart-seg.is-other { fill: var(--adu-caution); }
.adp-chart-axis { display: flex; justify-content: space-between; color: var(--adu-light); font-size: .68rem; font-variant-numeric: tabular-nums; }
.adp-chart-tip { position: absolute; top: 0; transform: translate(-50%, -6px); display: grid; gap: .1rem; padding: .45rem .6rem; border-radius: 10px; border: 1px solid var(--adu-card-border); background: var(--adu-card); color: var(--adu-text); font-size: .74rem; white-space: nowrap; pointer-events: none; z-index: 2; box-shadow: var(--adu-shadow); }
.adp-chart-tip strong { font-size: .76rem; }
.adp-chart-tip span i { width: 1rem; color: var(--adu-light); }
.adp-chart-tip span.is-critical { color: var(--adu-critical); }
.adp-chart-legend { display: flex; flex-wrap: wrap; gap: .4rem 1rem; color: var(--adu-muted); font-size: .72rem; }
.adp-chart-legend span { display: inline-flex; align-items: center; gap: .35rem; }
.adp-swatch { display: inline-block; width: .7rem; height: .7rem; border-radius: 3px; }
.adp-swatch.is-completed { background: var(--adu-positive); }
.adp-swatch.is-skipped { background: var(--adu-light); opacity: .75; }
.adp-swatch.is-failed { background: var(--adu-critical); }
.adp-swatch.is-other { background: var(--adu-caution); }

/* ------------------------------------------------------------------ Institutions */
.adp-inst-list { margin: 0; padding: 0; list-style: none; display: grid; gap: .35rem; max-height: 320px; overflow: auto; }
.adp-inst { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: .65rem; width: 100%; padding: .5rem .65rem; border-radius: 12px; border: 1px solid var(--adu-card-border); border-left-width: 4px; background: var(--adu-card); color: var(--adu-text); text-align: left; cursor: pointer; transition: background-color .15s ease, border-color .15s ease; }
.adp-inst:hover { background: var(--adu-surface); }
.adp-inst.is-active { border-color: var(--adu-violet); background: var(--adu-violet-soft); }
.adp-inst.is-positive { border-left-color: var(--adu-positive); }
.adp-inst.is-caution { border-left-color: var(--adu-caution); }
.adp-inst.is-critical { border-left-color: var(--adu-critical); }
.adp-inst-logo { display: grid; place-items: center; flex: 0 0 auto; width: 36px; height: 36px; border-radius: 10px; background: var(--adu-neutral-soft); color: var(--adu-violet); overflow: hidden; }
.adp-inst-logo.is-sm { width: 32px; height: 32px; border-radius: 9px; }
.adp-inst-logo img { width: 100%; height: 100%; object-fit: cover; }
.adp-inst-text { display: grid; gap: .05rem; min-width: 0; }
.adp-inst-text strong { font-size: .86rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.adp-inst-text small, .adp-inst-nums small { color: var(--adu-muted); font-size: .7rem; }
.adp-inst-nums { display: grid; justify-items: end; gap: .15rem; }

/* ------------------------------------------------------------------ Grid tweaks */
.adp-grid .adu-cell-date.is-critical { color: var(--adu-critical); }
.adp-grid .adu-tag { margin-left: .2rem; }

/* ------------------------------------------------------------------ Secondary panels */
.adp-panels-nav { margin: .9rem 0 .5rem; }
.adp-panel { display: grid; gap: .6rem; padding: .9rem 1rem 1rem; }
.adp-issues { gap: .45rem; }
.adp-issue { display: grid; grid-template-columns: 1fr auto; gap: .75rem; align-items: center; padding: .7rem .85rem; border-radius: 12px; border: 1px solid var(--adu-card-border); border-left-width: 4px; background: var(--adu-card); }
.adp-issue.is-critical { border-left-color: var(--adu-critical); }
.adp-issue.is-caution { border-left-color: var(--adu-caution); }
.adp-issue.is-neutral { border-left-color: var(--adu-neutral); }
.adp-issue.is-positive { border-left-color: var(--adu-positive); }
.adp-issue-main { display: grid; gap: .25rem; min-width: 0; }
.adp-issue-top { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; }
.adp-issue-top strong { font-size: .9rem; }
.adp-issue-side { display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: .4rem; }
@media (max-width: 700px) { .adp-issue { grid-template-columns: 1fr; } .adp-issue-side { justify-content: flex-start; } }

.adp-table { width: 100%; border-collapse: separate; border-spacing: 0; font-size: .82rem; }
.adp-table th { padding: .45rem .55rem; color: var(--adu-light); font-size: .64rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; text-align: left; border-bottom: 1px solid var(--adu-card-border); }
.adp-table td { padding: .55rem .55rem; border-bottom: 1px solid var(--adu-card-border); vertical-align: top; }
.adp-table tr:last-child td { border-bottom: 0; }
.adp-table .is-num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.adp-table td.is-critical { color: var(--adu-critical); font-weight: 700; }
.adp-table td.is-caution { color: var(--adu-caution); font-weight: 700; }

/* ------------------------------------------------------------------ Item sheet */
section.dbs-sheet.adp-sheet { width: min(1120px, calc(100vw - 1rem)); }
.adp-sheet-logo { display: grid; place-items: center; flex: 0 0 auto; width: 96px; height: 96px; margin-top: .15rem; border-radius: 24px; background: var(--adu-card); border: 1px solid var(--adu-card-border); color: var(--adp-inst, var(--adu-violet)); font-size: 2.2rem; overflow: hidden; box-shadow: inset 0 0 0 4px color-mix(in srgb, var(--adp-inst, var(--adu-violet)) 18%, transparent); }
.adp-sheet-logo img { width: 100%; height: 100%; object-fit: cover; }
.adu-strip-value.is-critical { color: var(--adu-critical); }

/* Diagnosis */
.adp-diag { display: grid; gap: .6rem; padding: .85rem .95rem; border-radius: 14px; border: 1px solid var(--adu-card-border); border-left: 4px solid var(--adu-neutral); background: var(--adu-surface); }
.adp-diag.is-positive { border-left-color: var(--adu-positive); }
.adp-diag.is-caution { border-left-color: var(--adu-caution); }
.adp-diag.is-critical { border-left-color: var(--adu-critical); }
.adp-diag-head { display: flex; align-items: center; gap: .75rem; }
.adp-diag-head > div { flex: 1 1 auto; min-width: 0; }
.adp-diag-glyph { display: grid; place-items: center; flex: 0 0 auto; width: 40px; height: 40px; border-radius: 12px; background: var(--adu-neutral-soft); color: var(--adu-neutral); font-size: 1.05rem; }
.adp-diag.is-positive .adp-diag-glyph { background: var(--adu-positive-soft); color: var(--adu-positive); }
.adp-diag.is-caution .adp-diag-glyph { background: var(--adu-caution-soft); color: var(--adu-caution); }
.adp-diag.is-critical .adp-diag-glyph { background: var(--adu-critical-soft); color: var(--adu-critical); }
.adp-diag-headline { margin: .1rem 0 0; font-size: 1rem; font-weight: 700; letter-spacing: -.01em; }
.adp-findings { margin: 0; padding: 0; list-style: none; display: grid; gap: .4rem; }
.adp-finding { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: .6rem; padding: .55rem .7rem; border-radius: 10px; background: var(--adu-card); border: 1px solid var(--adu-card-border); }
.adp-finding-dot { width: .6rem; height: .6rem; border-radius: 50%; background: var(--adu-light); }
.adp-finding.is-critical .adp-finding-dot { background: var(--adu-critical); }
.adp-finding.is-caution .adp-finding-dot { background: var(--adu-caution); }
.adp-finding.is-positive .adp-finding-dot { background: var(--adu-positive); }
.adp-finding-text { display: grid; gap: .1rem; min-width: 0; }
.adp-finding-text strong { font-size: .86rem; }
.adp-finding-text span { color: var(--adu-muted); font-size: .78rem; line-height: 1.4; }
.adp-finding.is-critical .adp-finding-text strong { color: var(--adu-critical); }
.adp-finding.is-caution .adp-finding-text strong { color: var(--adu-caution); }

/* Accounts, timeline */
.adp-accounts .adu-account { grid-template-columns: auto 1fr auto auto; }
.adp-kind-chips { margin-bottom: .3rem; }
.adp-timeline { max-height: 520px; overflow: auto; padding-right: .3rem; }
.adp-tl-glyph { margin-right: .25rem; color: var(--adu-light); font-size: .72rem; }

/* Webhooks */
.adp-webhooks { gap: .4rem; }
.adp-webhook { display: grid; grid-template-columns: 1fr auto; gap: .5rem; align-items: start; padding: .5rem .7rem; border-radius: 12px; border: 1px solid var(--adu-card-border); border-left-width: 4px; background: var(--adu-card); }
.adp-webhook.is-positive { border-left-color: var(--adu-positive); }
.adp-webhook.is-critical { border-left-color: var(--adu-critical); }
.adp-webhook.is-caution { border-left-color: var(--adu-caution); }
.adp-webhook.is-neutral { border-left-color: var(--adu-neutral); }
.adp-webhook-row { display: grid; gap: .2rem; justify-items: start; width: 100%; padding: 0; border: 0; background: transparent; color: var(--adu-text); text-align: left; cursor: pointer; }
.adp-webhook-row strong { font-size: .86rem; }
.adp-webhook-row > span.adu-muted { font-size: .74rem; }
.adp-webhook-actions { display: flex; align-items: center; gap: .4rem; }
.adp-webhook-body { grid-column: 1 / -1; display: grid; gap: .3rem; padding-top: .3rem; border-top: 1px solid var(--adu-card-border); }
.adp-json { margin: 0; max-height: 260px; overflow: auto; padding: .55rem .7rem; border-radius: 8px; background: var(--adu-surface); color: var(--adu-text); font-family: var(--adu-mono); font-size: .72rem; line-height: 1.45; white-space: pre-wrap; word-break: break-word; }

/* Events */
.adp-events { gap: .45rem; }
.adp-event { display: grid; gap: .3rem; padding: .65rem .8rem; border-radius: 12px; border: 1px solid var(--adu-card-border); border-left-width: 4px; background: var(--adu-card); }
.adp-event.is-open { border-left-color: var(--adu-critical); }
.adp-event.is-resolved { border-left-color: var(--adu-neutral); opacity: .85; }
.adp-event-head { display: flex; flex-wrap: wrap; align-items: center; gap: .45rem; }
.adp-event-head strong { font-size: .9rem; }
.adp-event .adu-hint { margin: 0; }

/* Repairs */
.adu-danger-grid:has(> .adp-repair) { grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); align-items: stretch; }
.adp-repair { gap: .5rem; min-width: 0; align-content: start; overflow-wrap: anywhere; }
.adp-repair > strong { font-size: .9rem; }
.adp-repair > strong i { margin-right: .35rem; color: var(--adu-violet); }
.adp-repair .adu-hint { margin: 0; min-width: 0; }
.adp-repair-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: .45rem; min-width: 0; }
.adp-repair-row .adu-btn { white-space: nowrap; }
@media (max-width: 420px) { .adp-repair-row { grid-template-columns: minmax(0, 1fr); } }
.adp-select { width: 100%; max-width: 100%; min-width: 0; box-sizing: border-box; padding: .45rem .6rem; border-radius: 10px; border: 1px solid var(--adu-card-border); background: var(--adu-card); color: var(--adu-text); font-size: .82rem; text-overflow: ellipsis; }
.adp-select:focus-visible { outline: none; box-shadow: var(--adu-focus); }
.adp-repair-row .cs-select.adp-pick { flex: 1 1 auto; }
