/* инфра (04.11.2026) — access.js. Простой читаемый вид: обычный шрифт, без капса и игровых слоёв */
#acc-root {
    --acc-ok: rgb(var(--green-rgb, 74, 222, 128)); --acc-red: rgb(var(--red-rgb, 239, 68, 68));
    --acc-amber: var(--ds-amber, #d79921); --acc-gray: var(--text-muted);
    font-family: -apple-system, BlinkMacSystemFont, 'Inter', 'Segoe UI', Roboto, sans-serif;
    font-size: 14px; line-height: 1.45; color: var(--text-primary);
}
#acc-root .mono { font-family: 'JetBrains Mono', monospace; font-size: 12px; }
#acc-root .pf-ascii-btn { font-family: inherit; text-transform: none; letter-spacing: 0; font-size: 13px; }

.acc-head { padding: 14px 14px 12px; border-radius: 12px; border: 1px solid var(--border-color); margin-bottom: 12px; border-left-width: 4px; }
.acc-head.acc-ok { border-left-color: var(--acc-ok); } .acc-head.acc-amber { border-left-color: var(--acc-amber); } .acc-head.acc-red { border-left-color: var(--acc-red); }
.acc-headline { font-size: 22px; font-weight: 650; letter-spacing: -0.2px; }
.acc-head.acc-ok .acc-headline { color: var(--acc-ok); } .acc-head.acc-amber .acc-headline { color: var(--acc-amber); } .acc-head.acc-red .acc-headline { color: var(--acc-red); }
.acc-sub { font-size: 12.5px; color: var(--text-muted); margin-top: 2px; }
.acc-head-btns { display: flex; gap: 8px; margin-top: 10px; flex-wrap: wrap; }

.acc-sec { margin: 18px 0 6px; font-size: 13px; font-weight: 600; color: var(--text-secondary); }
.acc-alert { padding: 8px 12px; margin-bottom: 5px; border-radius: 8px; border-left: 3px solid currentColor; background: rgba(127,127,127,.08); font-size: 13.5px; }
.acc-alert.acc-red { color: var(--acc-red); } .acc-alert.acc-amber { color: var(--acc-amber); } .acc-alert.acc-gray { color: var(--text-muted); }
.acc-muted { color: var(--text-muted); font-size: 13px; }

.acc-group { margin-top: 16px; }
.acc-gt { display: flex; justify-content: space-between; align-items: baseline; font-size: 16px; font-weight: 650; }
.acc-gc { font-size: 13px; font-weight: 500; color: var(--text-muted); font-variant-numeric: tabular-nums; }
.acc-gs { font-size: 12px; color: var(--text-muted); margin: 1px 0 6px; }

.acc-row { border-bottom: 1px solid var(--border-color); }
.acc-row:last-child { border-bottom: none; }
.acc-row-h { display: flex; align-items: center; gap: 10px; padding: 10px 2px; cursor: pointer; min-height: 44px; }
.acc-dot { width: 9px; height: 9px; border-radius: 50%; flex: none; background: var(--acc-gray); }
.acc-row.acc-ok .acc-dot { background: var(--acc-ok); } .acc-row.acc-red .acc-dot { background: var(--acc-red); } .acc-row.acc-amber .acc-dot { background: var(--acc-amber); }
.acc-row-n { flex: 1; min-width: 0; font-size: 14.5px; }
.acc-row-v { font-size: 13px; color: var(--text-secondary); font-variant-numeric: tabular-nums; white-space: nowrap; }
.acc-row.acc-red .acc-row-v { color: var(--acc-red); } .acc-row.acc-amber .acc-row-v { color: var(--acc-amber); }
.acc-row.open { background: rgba(127,127,127,.05); border-radius: 8px; }

.acc-det { padding: 0 6px 12px 21px; font-size: 13px; }
.acc-role { color: var(--text-secondary); margin-bottom: 8px; }
.acc-kv { display: flex; gap: 10px; padding: 2px 0; }
.acc-kv > span:first-child { flex: none; width: 92px; color: var(--text-muted); }
.acc-checks { margin-top: 6px; }
.acc-chk { font-size: 12.5px; padding: 2px 0; color: var(--text-secondary); }
.acc-chk small { color: var(--text-muted); }
.acc-chk .acc-u { color: var(--acc-ok); margin-left: 6px; white-space: nowrap; } .acc-chk .acc-d { color: var(--acc-red); margin-left: 6px; white-space: nowrap; }
.acc-spark { display: grid; grid-template-columns: repeat(48, 1fr); gap: 1px; margin-top: 8px; height: 8px; }
.acc-spark i { border-radius: 1px; background: rgba(127,127,127,.15); }
.acc-spark i.u { background: var(--acc-ok); opacity: .75; } .acc-spark i.d { background: var(--acc-red); }

.acc-pay, .acc-bal { display: grid; grid-template-columns: 1fr auto auto; gap: 4px 12px; align-items: baseline; padding: 7px 0; border-bottom: 1px solid var(--border-color); font-size: 13.5px; }
.acc-pay small { display: block; font-size: 11.5px; color: var(--text-muted); }
.acc-bal small { font-size: 11.5px; color: var(--text-muted); font-weight: 400; }
.acc-pay > span:nth-child(2), .acc-pay > span:nth-child(3) { color: var(--text-secondary); font-variant-numeric: tabular-nums; white-space: nowrap; }
.acc-pay.amber > span:nth-child(2) { color: var(--acc-amber); } .acc-pay.red > span:nth-child(2) { color: var(--acc-red); }
.acc-bal > span:nth-child(2) { font-variant-numeric: tabular-nums; font-weight: 600; text-align: right; }
.acc-bal.amber > span:nth-child(2) { color: var(--acc-amber); }
.acc-bal a { color: var(--accent); font-size: 12.5px; }

.acc-ask { border: 1px solid var(--border-color); border-radius: 12px; padding: 10px; }
.acc-ask-h { font-size: 12px; color: var(--text-muted); margin-bottom: 8px; }
.acc-ask-log { display: flex; flex-direction: column; gap: 6px; max-height: 360px; overflow-y: auto; margin-bottom: 8px; }
.acc-ask-log:empty { display: none; }
.acc-msg { padding: 8px 11px; border-radius: 10px; white-space: pre-wrap; font-size: 13.5px; max-width: 88%; }
.acc-msg-user { align-self: flex-end; background: rgba(var(--accent-rgb), .15); }
.acc-msg-assistant { align-self: flex-start; border: 1px solid var(--border-color); color: var(--text-secondary); }
.acc-msg-meta { font-size: 10.5px; color: var(--text-muted); margin-bottom: 2px; }
.acc-msg-wait { color: var(--text-muted); font-style: italic; }
.acc-steps { margin-top: 4px; font-size: 11.5px; color: var(--text-muted); } .acc-steps summary { cursor: pointer; }
.acc-pend { border: 1px solid var(--acc-amber); border-radius: 10px; padding: 9px; margin: 6px 0; font-size: 13px; }
.acc-pend pre { white-space: pre-wrap; word-break: break-all; font-size: 12px; margin: 5px 0 8px; color: var(--text-secondary); }
.acc-ask-f { display: flex; gap: 6px; }
.acc-ask-f input { flex: 1; min-width: 0; background: var(--bg-input, transparent); border: 1px solid var(--border-color); border-radius: 10px; color: var(--text-primary); padding: 10px 12px; font: inherit; font-size: 14px; }

.acc-foot { margin-top: 14px; font-size: 11.5px; color: var(--text-muted); }
.acc-doc { font-size: 13.5px; max-height: 70vh; overflow-y: auto; }

.acc-bk { border: 1px solid var(--border-color); border-radius: 10px; padding: 10px 12px; font-size: 13.5px; }
.acc-bk.red { border-color: var(--acc-red); }
.acc-bk-m { margin: 4px 0; font-size: 12.5px; } .acc-bk-m .acc-u { color: var(--acc-ok); } .acc-bk-m .acc-d { color: var(--acc-red); }
.acc-bk .acc-muted { font-size: 12px; }
