/* Стили админки — расширяют базовые из styles.css */
.admin-body { background: var(--bg); }
.admin-shell { max-width: 1240px; margin: 0 auto; padding: 0 20px 60px; }
.admin-top {
  display: flex; align-items: center; justify-content: space-between;
  gap: 16px; padding: 16px 0; border-bottom: 1px solid var(--line); margin-bottom: 20px;
}
.admin-actions { display: flex; gap: 8px; align-items: center; }
.login-panel {
  max-width: 460px; margin: 60px auto; background: var(--card);
  border: 1px solid var(--line); border-radius: 18px; padding: 26px; box-shadow: var(--shadow);
}
.login-panel h2 { margin: 0 0 8px; font-size: 20px; }
.login-panel form { display: flex; gap: 8px; margin-top: 16px; }
.login-panel input {
  flex: 1; font: inherit; padding: 10px 12px; border-radius: 10px;
  border: 1px solid var(--line); outline: none;
}
.login-panel input:focus { border-color: var(--mts-red); }
code { background: #f2f4f7; padding: 1px 5px; border-radius: 5px; font-size: 12px; }

.tabs { display: flex; gap: 6px; margin-bottom: 18px; flex-wrap: wrap; }
.tab {
  padding: 9px 16px; border-radius: 999px; border: 1px solid var(--line);
  background: var(--card); font-size: 14px; color: var(--ink-2);
}
.tab.active { background: var(--ink); color: #fff; border-color: var(--ink); }

.kpi-grid {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 12px; margin-bottom: 18px;
}
.kpi {
  background: var(--card); border: 1px solid var(--line); border-radius: 14px;
  padding: 16px; box-shadow: var(--shadow);
}
.kpi-value { font-size: 24px; font-weight: 700; letter-spacing: -.02em; }
.kpi-label { font-size: 12.5px; color: var(--ink-2); margin-top: 2px; }
.kpi-hint { font-size: 11.5px; color: var(--ink-3); margin-top: 6px; }

.panel {
  background: var(--card); border: 1px solid var(--line); border-radius: 16px;
  padding: 18px; margin-bottom: 16px; box-shadow: var(--shadow);
}
.panel h3 { margin: 0 0 6px; font-size: 16px; }
.panel h4 { margin: 0 0 8px; font-size: 13.5px; color: var(--ink-2); }
.list { display: flex; flex-direction: column; gap: 12px; margin-top: 12px; }

.lead-card { border: 1px solid var(--line); border-radius: 12px; padding: 14px; background: #fcfcfd; }
.lead-head { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; margin-bottom: 10px; }
.lead-actions { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 10px; }
.summary {
  background: #f8fafc; border: 1px solid var(--line); border-radius: 10px;
  padding: 10px; font-size: 12px; line-height: 1.5; white-space: pre-wrap;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace; max-height: 320px; overflow: auto;
}
.mono { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 12px; }

.session-row {
  display: grid; grid-template-columns: 1fr auto auto auto; gap: 10px;
  align-items: center; text-align: left; padding: 10px 12px;
  border: 1px solid var(--line); border-radius: 10px; background: #fcfcfd; width: 100%;
}
.session-row:hover { border-color: var(--mts-red); }

.drawer-backdrop { position: fixed; inset: 0; background: rgba(16,24,40,.4); z-index: 60; }
.drawer {
  position: fixed; top: 0; right: 0; bottom: 0; width: min(680px, 100%);
  background: var(--card); z-index: 61; display: flex; flex-direction: column;
  box-shadow: -12px 0 40px rgba(16,24,40,.14);
}
.drawer-head {
  display: flex; align-items: center; justify-content: space-between;
  padding: 16px 20px; border-bottom: 1px solid var(--line);
}
.drawer-head h3 { margin: 0; font-size: 15px; }
.drawer-body { overflow-y: auto; padding: 16px 20px 40px; }
.drawer-msg { display: grid; grid-template-columns: 68px 1fr; gap: 10px; padding: 8px 0; border-bottom: 1px dashed var(--line); font-size: 13px; }
.drawer-msg .role { color: var(--ink-3); font-size: 11.5px; text-transform: uppercase; letter-spacing: .04em; }
.drawer-msg.user .text { font-weight: 500; }
.span-list { display: flex; flex-direction: column; gap: 6px; }
.span-row { display: grid; grid-template-columns: 1fr auto; gap: 8px; font-size: 12px; }
