/* Стили рендерера аудита (ad-*). Светлая тема, Roboto. */
.ad-wrap { --ad-ink:#171a20; --ad-ink2:#454c59; --ad-muted:#8a919e; --ad-line:#e4e7ec;
  --ad-hair:#eceef2; --ad-surface:#fff; --ad-sunken:#f8f9fb; --ad-accent:#4361ee;
  --ad-good:#18a34a; --ad-good-soft:#e7f6ec; --ad-grow:#e07a2c; --ad-grow-soft:#fdf1e3;
  font-family:"Roboto",system-ui,sans-serif; color:var(--ad-ink); max-width:960px; }
.ad-head { display:flex; justify-content:space-between; align-items:flex-end; gap:16px; margin-bottom:20px;
  padding-bottom:16px; border-bottom:1px solid var(--ad-line); }
.ad-title { font-size:13px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; color:var(--ad-accent); }
.ad-handle { font-size:30px; font-weight:800; letter-spacing:-.02em; margin-top:2px; }
.ad-meta { font-size:12.5px; color:var(--ad-muted); font-weight:600; white-space:nowrap; }

.ad-tiles { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-bottom:16px; }
.ad-tile { background:var(--ad-surface); border:1px solid var(--ad-line); border-radius:12px; padding:16px 18px; }
.ad-tile-v { font-size:26px; font-weight:800; letter-spacing:-.02em; font-variant-numeric:tabular-nums; }
.ad-tile-k { font-size:12px; color:var(--ad-muted); margin-top:3px; font-weight:600; }

.ad-two { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:16px; align-items:start; }
.ad-card { background:var(--ad-surface); border:1px solid var(--ad-line); border-radius:14px; padding:18px 20px; margin-bottom:16px; }
.ad-two .ad-card { margin-bottom:0; }
.ad-h { font-size:12px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; color:var(--ad-muted); margin-bottom:12px; }
.ad-sub { font-size:12.5px; color:var(--ad-ink2); margin:-6px 0 12px; line-height:1.5; }
.ad-note { font-size:13px; line-height:1.55; color:var(--ad-ink2); margin:12px 0 0; }

.ad-arch-names { font-size:22px; letter-spacing:-.01em; } .ad-arch-names b { font-weight:800; }
.ad-arch-names span { color:var(--ad-muted); font-weight:600; font-size:16px; }
.ad-chip { display:inline-block; font-size:11.5px; font-weight:700; border-radius:999px; padding:4px 11px; margin-top:10px; }
.ad-chip-good { background:var(--ad-good-soft); color:var(--ad-good); }

.ad-bar-row { display:grid; grid-template-columns:140px 1fr 24px; align-items:center; gap:10px; margin:9px 0; }
.ad-bar-lab { font-size:12.5px; color:var(--ad-ink2); font-weight:600; }
.ad-bar-track { background:var(--ad-sunken); border-radius:6px; height:20px; overflow:hidden; }
.ad-bar-fill { height:100%; border-radius:6px; min-width:3px; }
.ad-bar-val { font-size:13px; font-weight:800; font-variant-numeric:tabular-nums; text-align:right; }

.ad-scroll { overflow-x:auto; }
.ad-svg { width:100%; min-width:560px; height:auto; display:block; }
.ad-grid { stroke:#eceef2; stroke-width:1; }
.ad-axl { font-size:10px; fill:#8a919e; font-family:"Roboto",sans-serif; }
.ad-axt { font-size:11px; fill:#454c59; font-weight:700; font-family:"Roboto",sans-serif; }
.ad-ann { font-size:10.5px; fill:#454c59; font-weight:700; font-family:"Roboto",sans-serif; }

.ad-insight { background:#0f1830; border-color:#0f1830; }
.ad-insight .ad-h { color:#8fa0e0; }
.ad-insight p { margin:0; font-size:14.5px; line-height:1.6; color:#e9ecf7; }
.ad-insight b { color:#fff; }

.ad-list ul { margin:0; padding-left:18px; }
.ad-list li { font-size:13px; line-height:1.5; color:var(--ad-ink2); margin:7px 0; }
.ad-good { border-top:3px solid var(--ad-good); } .ad-grow { border-top:3px solid var(--ad-grow); }

.ad-table { width:100%; border-collapse:collapse; font-size:12.5px; min-width:640px; }
.ad-table th { text-align:left; font-size:10.5px; text-transform:uppercase; letter-spacing:.04em; color:var(--ad-muted);
  padding:6px 10px; border-bottom:1px solid var(--ad-line); font-weight:800; }
.ad-table td { padding:9px 10px; border-bottom:1px solid var(--ad-hair); color:var(--ad-ink2); vertical-align:top; }
.ad-table .ad-num { font-variant-numeric:tabular-nums; font-weight:700; color:var(--ad-ink); white-space:nowrap; }
.ad-verd { color:var(--ad-ink2); }
.ad-dots { display:inline-flex; gap:3px; }
.ad-dot { width:8px; height:8px; border-radius:50%; display:inline-block; }

@media (max-width:760px) { .ad-tiles { grid-template-columns:1fr 1fr; } .ad-two { grid-template-columns:1fr; } }
