/* ============================================================
   DentaProAI · Платформа — вкладка «Агенты» (RUN02 Z3).
   Отдельный файл, чтобы не пересекаться с platform.css; токены те же.
   ============================================================ */

/* --- карточки агентов --- */
.ag-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); margin-bottom: var(--space-6); }
.ag-agent { position: relative; display: grid; gap: var(--space-4); padding: var(--space-5); border-radius: var(--radius-lg); background: var(--surface-card); border: 1px solid var(--border-subtle); box-shadow: var(--shadow-sm); overflow: hidden; transition: box-shadow var(--tr-fast), transform var(--tr-fast); }
.ag-agent::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 4px; background: var(--ag-accent, var(--c-brand-600)); }
.ag-agent:hover { box-shadow: var(--shadow-md); transform: translateY(-1px); }
.ag-agent--churn { --ag-accent: var(--c-danger-600); --ag-soft: var(--c-danger-50); --ag-ink: var(--c-danger-700); }
.ag-agent--sales { --ag-accent: var(--c-success-600); --ag-soft: var(--c-success-50); --ag-ink: var(--c-success-700); }
.ag-agent--marketing { --ag-accent: var(--c-brand-600); --ag-soft: var(--surface-brand-soft); --ag-ink: var(--c-brand-700); }
.ag-agent__top { display: flex; align-items: flex-start; gap: var(--space-3); }
.ag-agent__top .chip { margin-left: auto; flex: none; }
.ag-agent__ic { width: 44px; height: 44px; border-radius: 12px; flex: none; display: grid; place-items: center; background: var(--ag-soft, var(--surface-sunken)); color: var(--ag-ink, var(--ink-secondary)); }
.ag-agent__ic svg { width: 22px; height: 22px; }
.ag-agent__t { min-width: 0; }
.ag-agent__eyebrow { font-size: 11px; text-transform: uppercase; letter-spacing: .08em; color: var(--ink-muted); font-weight: var(--font-weight-semibold); }
.ag-agent__t h3 { margin: 2px 0 0; font-size: var(--font-size-lg); font-weight: var(--font-weight-semibold); letter-spacing: var(--font-tracking-tight); line-height: 1.2; }
.ag-agent__sub { font-size: var(--font-size-xs); color: var(--ink-muted); margin-top: 2px; line-height: 1.35; }
.ag-agent__nums { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-2); }
.ag-num { padding: var(--space-3) var(--space-2); border-radius: var(--radius-md); background: var(--surface-sunken); text-align: center; min-width: 0; }
.ag-num__v { font-size: 26px; font-weight: var(--font-weight-bold); letter-spacing: var(--font-tracking-tight); line-height: 1; color: var(--ink-primary); }
.ag-num__l { font-size: 11px; color: var(--ink-muted); margin-top: 6px; line-height: 1.2; }
.ag-agent__foot { display: flex; align-items: center; gap: var(--space-3); flex-wrap: wrap; }
.ag-agent__when { font-size: var(--font-size-xs); color: var(--ink-muted); flex: 1 1 auto; min-width: 0; }
.ag-agent__detail { font-size: var(--font-size-xs); color: var(--ink-secondary); white-space: pre-line; padding-top: var(--space-2); border-top: 1px dashed var(--border-subtle); }
.ag-hour { display: inline-flex; align-items: center; gap: 6px; font-size: var(--font-size-sm); color: var(--ink-secondary); }
.ag-hour__in { width: 58px; text-align: center; min-height: 36px; }
.ag-kpis .kpi[data-go] { cursor: pointer; }
.ag-tabs { margin-bottom: var(--space-4); }

/* --- лента действий --- */
.ag-filters { display: flex; align-items: center; gap: var(--space-2); flex-wrap: wrap; margin-bottom: var(--space-4); }
.ag-filters .select { width: auto; min-width: 150px; }
.ag-filters__n { margin-left: auto; font-size: var(--font-size-sm); color: var(--ink-muted); }
.ag-feed { display: grid; gap: var(--space-3); }
.ag-act, .ag-ob { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: var(--space-4); padding: var(--space-4) var(--space-5); border-radius: var(--radius-lg); background: var(--surface-card); border: 1px solid var(--border-subtle); box-shadow: var(--shadow-sm); animation: ag-in .25s ease-out both; }
.ag-act.is-pending { border-color: var(--c-warning-300, #f5d38a); background: linear-gradient(0deg, var(--surface-card), var(--surface-card)), var(--c-warning-50); box-shadow: 0 0 0 3px var(--c-warning-50, #fff7e0), var(--shadow-sm); }
.ag-ob.is-closed { opacity: .78; }
@keyframes ag-in { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }
.ag-act__ic, .ag-ob__ic { width: 44px; height: 44px; border-radius: 12px; display: grid; place-items: center; background: var(--surface-sunken); color: var(--ink-secondary); }
.ag-act__ic svg, .ag-ob__ic svg { width: 22px; height: 22px; }
.ag-act--task .ag-act__ic { background: var(--surface-brand-soft); color: var(--c-brand-700); }
.ag-act--draft .ag-act__ic, .ag-ob__ic { background: var(--c-success-50); color: var(--c-success-700); }
.ag-act--notify .ag-act__ic { background: var(--c-warning-50); color: var(--c-warning-700); }
.ag-act--suggest .ag-act__ic { background: var(--c-warning-50); color: var(--c-warning-700); }
.ag-act--followup .ag-act__ic, .ag-act--education .ag-act__ic, .ag-act--show_feature .ag-act__ic { background: var(--surface-brand-soft); color: var(--c-brand-700); }
.ag-act__main, .ag-ob__main { min-width: 0; display: grid; gap: 8px; }
.ag-act__top { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.ag-act__when { margin-left: auto; font-size: var(--font-size-xs); color: var(--ink-muted); white-space: nowrap; }
.ag-act__title { font-size: var(--font-size-base); font-weight: var(--font-weight-semibold); color: var(--ink-primary); line-height: 1.35; }
.ag-ent { display: inline-flex; align-items: center; gap: 6px; font-size: var(--font-size-sm); color: var(--ink-brand); text-decoration: none; font-weight: var(--font-weight-medium); width: fit-content; }
.ag-ent svg { width: 16px; height: 16px; }
.ag-ent:hover { text-decoration: underline; }
.ag-explain { margin: 0; display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 4px 12px; font-size: var(--font-size-sm); line-height: 1.45; padding: var(--space-3) var(--space-4); border-radius: var(--radius-md); background: var(--surface-sunken); }
.ag-explain dt { color: var(--ink-muted); }
.ag-explain dd { margin: 0; color: var(--ink-secondary); }
.ag-explain dd:nth-of-type(3) { color: var(--ink-primary); font-weight: var(--font-weight-medium); }
.ag-act__foot { display: flex; align-items: center; gap: var(--space-2); flex-wrap: wrap; }
.ag-act__foot:empty { display: none; }
.ag-act__decided { font-size: var(--font-size-xs); color: var(--ink-muted); }

/* --- очередь «К отправке» --- */
.ag-ob__to { font-size: var(--font-size-sm); color: var(--ink-secondary); }
.ag-ob__to a { color: var(--ink-brand); font-weight: var(--font-weight-medium); text-decoration: none; }
.ag-ob__to a:hover { text-decoration: underline; }
.ag-ob__subj { font-weight: var(--font-weight-semibold); color: var(--ink-primary); }
.ag-ob .mk-draft { margin-top: 0; }

/* --- пустое состояние --- */
.ag-empty { padding-top: var(--space-8); }
.ag-empty__ic svg { width: 120px; height: 90px; color: var(--c-brand-600); }
.ag-empty__ic svg:not(:first-child) { display: none; }

@media (prefers-reduced-motion: reduce) { .ag-act, .ag-ob { animation: none; } .ag-agent:hover { transform: none; } }
@media (max-width: 960px) { .ag-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 720px) {
  .ag-grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-3); }
  .ag-agent { padding: var(--space-4); }
  .ag-act, .ag-ob { grid-template-columns: 36px minmax(0, 1fr); gap: var(--space-3); padding: var(--space-3) var(--space-4); }
  .ag-act__ic, .ag-ob__ic { width: 36px; height: 36px; border-radius: 10px; }
  .ag-act__ic svg, .ag-ob__ic svg { width: 18px; height: 18px; }
  .ag-explain { grid-template-columns: minmax(0, 1fr); gap: 2px; }
  .ag-explain dt { margin-top: 6px; font-size: 11px; text-transform: uppercase; letter-spacing: .06em; }
  .ag-explain dt:first-child { margin-top: 0; }
  .ag-act__when { margin-left: 0; width: 100%; }
  .ag-filters .select { flex: 1 1 45%; min-width: 0; }
  .ag-filters__n { margin-left: 0; width: 100%; }
  .ag-act__foot .btn { flex: 1 1 auto; justify-content: center; }
  .ag-act__foot > span[style] { display: none; }
  .ag-kpis.kpis--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ag-kpis .kpi:first-child { grid-column: 1 / -1; }
}
