/* Administration → AI audit (Pages/Admin/AiAudit/AiAuditPage) */
.aa {
    --aa-line: var(--rz-border-color, #E2E6EC);
    --aa-muted: var(--rz-text-secondary-color, #4B5565);
    --aa-card: var(--rz-base-background-color, #fff);
    --aa-hover: color-mix(in srgb, var(--rz-primary, #3B5BDB) 6%, transparent);
    --aa-ok: #1E6B3A; --aa-ok-bg: #E6F6EE; --aa-ok-line: #7CC4A0;
    --aa-warn: #8A4B08; --aa-warn-bg: #FFF4DE; --aa-warn-line: #EBB75B;
    --aa-bad: #9B1C1C; --aa-bad-bg: #FDECEC; --aa-bad-line: #E9A1A1;
    --aa-user: #1D4F91; --aa-user-bg: #EAF1FB; --aa-user-line: #A9C3E8;
    padding: 1rem; display: flex; flex-direction: column; gap: 1rem; max-width: 1560px;
}
.aa__head { display: flex; justify-content: space-between; align-items: flex-end; gap: 1rem; flex-wrap: wrap; }
.aa__head h1 { font-size: 1.5rem; margin: 0; }
.aa__head-side { display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: center; }
.aa__crumb { font-size: 0.78rem; color: var(--aa-muted); }
.aa__muted { color: var(--aa-muted); margin: 0; }
.aa__small { font-size: 0.8rem; }
.aa-mono { font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: 0.8rem; overflow-wrap: anywhere; }
.aa-ellipsis { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }
.aa-label { display: block; font-size: 0.72rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.04em; color: var(--aa-muted); margin: 0.25rem 0; }
.aa-link { background: none; border: 0; padding: 0; color: var(--rz-primary); cursor: pointer; font: inherit; font-size: 0.85rem; }
.aa-link:hover { text-decoration: underline; }
.aa-empty { padding: 2rem; text-align: center; color: var(--aa-muted); }
.aa-note { padding: 0.6rem 0.9rem; border: 1px solid #B6D4F2; background: #EEF5FC; border-radius: 6px; font-size: 0.88rem; }
.aa-note--bad { border-color: var(--aa-bad-line); background: var(--aa-bad-bg); color: var(--aa-bad); }

.aa-pill { display: inline-flex; align-items: center; gap: 0.5rem; font-size: 0.82rem; padding: 0.3rem 0.75rem; border-radius: 999px; border: 1px solid; }
.aa-pill--ok { background: var(--aa-ok-bg); color: var(--aa-ok); border-color: var(--aa-ok-line); }
.aa-pill--bad { background: var(--aa-bad-bg); color: var(--aa-bad); border-color: var(--aa-bad-line); }
.aa-pill__dot { width: 8px; height: 8px; border-radius: 999px; background: currentColor; }
.aa-tag { display: inline-flex; align-items: center; min-height: 1.35rem; padding: 0.05rem 0.55rem; border-radius: 999px; font-size: 0.74rem; font-weight: 500; border: 1px solid #C9D0D9; background: #F4F6F8; color: #2B3440; white-space: nowrap; width: fit-content; }
.aa-tag--ok { border-color: var(--aa-ok-line); background: var(--aa-ok-bg); color: var(--aa-ok); }
.aa-tag--warn { border-color: var(--aa-warn-line); background: var(--aa-warn-bg); color: var(--aa-warn); }
.aa-tag--bad { border-color: var(--aa-bad-line); background: var(--aa-bad-bg); color: var(--aa-bad); }
.aa-tag--user { border-color: var(--aa-user-line); background: var(--aa-user-bg); color: var(--aa-user); }
.aa-fill--ok { background: #3D8B57; }
.aa-fill--warn { background: #C46A1C; }
.aa-fill--bad { background: #C23B34; }

/* Filters */
.aa-filters { display: flex; flex-direction: column; gap: 0.6rem; }
.aa-filters__row { display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: center; }
.aa-chips { display: flex; flex-wrap: wrap; gap: 0.4rem; }
.aa-chip { border: 1px solid var(--aa-line); background: var(--aa-card); border-radius: 999px; padding: 0.3rem 0.8rem; font: inherit; font-size: 0.82rem; cursor: pointer; color: inherit; }
.aa-chip:hover { background: var(--aa-hover); }
.aa-chip--on { border-color: var(--rz-primary); color: var(--rz-primary); font-weight: 600; background: var(--aa-hover); }
.aa-chip:focus-visible, .aa-row:focus-visible, .aa-step:focus-visible, .aa-count--link:focus-visible { outline: 2px solid var(--rz-primary); outline-offset: 2px; }

/* Numbers */
.aa-kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 1rem; }
.aa-kpi { border: 1px solid var(--aa-line); border-radius: 6px; background: var(--aa-card); padding: 0.9rem 1rem; display: flex; flex-direction: column; gap: 0.15rem; }
.aa-kpi__label, .aa-kpi__sub { font-size: 0.78rem; color: var(--aa-muted); }
.aa-kpi__value { font-size: 1.75rem; line-height: 2.2rem; font-weight: 600; }
.aa-kpi__value small { font-size: 0.85rem; font-weight: 500; color: var(--aa-muted); }
.aa-kpi__value--bad { color: var(--aa-bad); }

/* List + side */
.aa-main { display: flex; flex-wrap: wrap; gap: 1rem; align-items: flex-start; }
.aa-card { border: 1px solid var(--aa-line); border-radius: 6px; background: var(--aa-card); padding: 1rem; display: flex; flex-direction: column; gap: 0.7rem; min-width: 0; }
.aa-card h2 { font-size: 1rem; margin: 0; }
.aa-card__head { display: flex; justify-content: space-between; align-items: center; gap: 0.75rem; }
.aa-list { flex: 999 1 760px; padding: 0; gap: 0; }
.aa-side { flex: 1 1 340px; min-width: 0; display: flex; flex-direction: column; gap: 1rem; }
.aa-table { overflow-x: auto; }
.aa-row {
    display: grid; grid-template-columns: 92px minmax(200px, 2.2fr) minmax(150px, 1.4fr) minmax(110px, 1fr) minmax(80px, 0.8fr) 78px 92px 92px;
    gap: 0.5rem; align-items: center; padding: 0.55rem 1rem; border: 0; border-bottom: 1px solid var(--aa-line);
    min-width: 1000px; width: 100%; background: none; font: inherit; font-size: 0.86rem; text-align: left; color: inherit; cursor: pointer;
}
.aa-row--head { font-size: 0.74rem; font-weight: 600; color: var(--aa-muted); cursor: default; padding-top: 0.45rem; padding-bottom: 0.45rem; }
button.aa-row:hover { background: var(--aa-hover); }
.aa-row--open { background: var(--aa-hover); box-shadow: inset 3px 0 0 var(--rz-primary); }
.aa-cell { display: flex; flex-direction: column; min-width: 0; }
.aa-cell b { font-weight: 500; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.aa-num { text-align: right; }
.aa-list__foot { display: flex; gap: 0.5rem; align-items: center; justify-content: flex-end; padding: 0.6rem 1rem; }
.aa-count { display: flex; flex-direction: column; gap: 0.1rem; min-width: 0; }
.aa-count--link { border: 0; background: none; padding: 0.25rem 0.35rem; margin: 0 -0.35rem; border-radius: 4px; text-align: left; font: inherit; color: inherit; cursor: pointer; }
.aa-count--link:hover { background: var(--aa-hover); }

/* One call */
.aa-detail h2 { font-size: 1.05rem; }
.aa-facts { display: grid; grid-template-columns: max-content 1fr; gap: 0.35rem 0.9rem; margin: 0; font-size: 0.86rem; }
.aa-facts dt { color: var(--aa-muted); }
.aa-facts dd { margin: 0; min-width: 0; overflow-wrap: anywhere; }
.aa-text { margin: 0; max-height: 320px; overflow: auto; white-space: pre-wrap; overflow-wrap: anywhere; font-size: 0.78rem; line-height: 1.45; padding: 0.6rem 0.75rem; border: 1px solid var(--aa-line); border-radius: 4px; background: #F7F9FB; }
.aa-chain { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.15rem; }
.aa-step { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(60px, 1fr) 118px; gap: 0.5rem; align-items: center; width: 100%; border: 0; background: none; padding: 0.3rem 0.35rem; border-radius: 4px; font: inherit; font-size: 0.8rem; color: inherit; text-align: left; cursor: pointer; }
.aa-step:hover { background: var(--aa-hover); }
.aa-step--on { background: var(--aa-hover); font-weight: 600; }
.aa-step__name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.aa-step__track { position: relative; height: 8px; border-radius: 999px; background: #E2E4E9; }
.aa-step__bar { position: absolute; top: 0; bottom: 0; border-radius: 999px; min-width: 3px; }
.aa-step__time { text-align: right; }

@media (prefers-color-scheme: dark) {
    .aa-text { background: rgba(255, 255, 255, 0.04); }
    .aa-step__track { background: rgba(255, 255, 255, 0.12); }
}

/* The opened call: a panel on the right over the page */
.aa-drawer {
    position: fixed; top: 0; right: 0; bottom: 0; z-index: 1050; width: min(620px, 100vw);
    display: flex; flex-direction: column; gap: 0.7rem; padding: 1rem 1.1rem; overflow-y: auto;
    background: var(--aa-card); border-left: 1px solid var(--aa-line); box-shadow: -8px 0 24px rgba(15, 23, 42, 0.16);
}
.aa-drawer h2 { font-size: 1.05rem; margin: 0; }

/* Time and tokens of the opened call */
.aa-cost { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 0.75rem; padding: 0.75rem; border: 1px solid var(--aa-line); border-radius: 6px; }
.aa-cost > div { display: flex; flex-direction: column; gap: 0.1rem; }
.aa-cost__value { font-size: 1.4rem; font-weight: 600; line-height: 1.8rem; }
.aa-cell--num { align-items: flex-end; }

/* Now: running calls, workers and their queues (Pages/Admin/AiAudit/AiAuditNow.razor) */
.aa-now h2 { display: flex; align-items: center; gap: 0.5rem; flex-wrap: wrap; }
.aa-now__sum { font-size: 0.82rem; font-weight: 400; }
.aa-now__tools { display: flex; gap: 0.5rem; align-items: center; }
.aa-now__dot { width: 0.6rem; height: 0.6rem; border-radius: 999px; background: #B8C0CC; display: inline-block; }
.aa-now__dot--on { background: var(--aa-ok-line); box-shadow: 0 0 0 0 var(--aa-ok-line); animation: aa-now-pulse 1.6s infinite; }
@keyframes aa-now-pulse { 70% { box-shadow: 0 0 0 0.45rem transparent; } 100% { box-shadow: 0 0 0 0 transparent; } }
@media (prefers-reduced-motion: reduce) { .aa-now__dot--on { animation: none; } }
.aa-now__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
@media (max-width: 900px) { .aa-now__grid { grid-template-columns: 1fr; } }
.aa-now__col { display: flex; flex-direction: column; gap: 0.4rem; min-width: 0; }
.aa-now__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.4rem; }
.aa-now__call, .aa-now__worker, .aa-now__model { border: 1px solid var(--aa-line); border-radius: 6px; padding: 0.5rem 0.7rem; display: flex; flex-direction: column; gap: 0.2rem; font-size: 0.86rem; min-width: 0; }
/* A call that runs now: a light runs around its border (one waiting in line stays still) */
@property --aa-spin { syntax: "<angle>"; inherits: false; initial-value: 0deg; }
.aa-now__call--running {
    border: 2px solid transparent;
    background: linear-gradient(var(--aa-card), var(--aa-card)) padding-box,
                conic-gradient(from var(--aa-spin), #8AB8EA 0deg, #8AB8EA 250deg, #2563EB 310deg, #60A5FA 340deg, #8AB8EA 360deg) border-box;
    animation: aa-spin 2.4s linear infinite;
}
@keyframes aa-spin { to { --aa-spin: 360deg; } }
@media (prefers-reduced-motion: reduce) { .aa-now__call--running { animation: none; } }
.aa-now__worker--busy { border-left: 4px solid var(--aa-ok-line); }
.aa-now__line { display: flex; gap: 0.45rem; align-items: center; flex-wrap: wrap; }
.aa-now__time { margin-left: auto; font-variant-numeric: tabular-nums; font-size: 0.8rem; color: var(--aa-muted); }
.aa-now__meta { font-size: 0.76rem; }
.aa-now__empty { margin: 0; font-size: 0.84rem; }
.aa-now__bar { height: 4px; }
.aa-now__queue { margin: 0.2rem 0 0; padding-left: 1.3rem; display: flex; flex-direction: column; gap: 0.15rem; font-size: 0.8rem; }
.aa-now__queue li { min-width: 0; }
.aa-now__queue .aa-ellipsis { display: block; }
