/* ============================================================
   Minox CRM — universal light product UI
   ============================================================ */
:root {
  /* ── Surfaces — тонированы в фиолетово-синий бренд Minox, не серо-белые ── */
  --bg:           oklch(97.2% 0.010 285);
  --bg-elev:      oklch(95.3% 0.014 285);
  --bg-soft:      oklch(96.4% 0.012 285);
  --bg-card:      oklch(99.5% 0.004 285);
  --bg-card-hover:oklch(98.2% 0.014 288);
  --track:        oklch(92.4% 0.020 285);

  /* ── Borders ── */
  --border:        oklch(52% 0.04 285 / 0.12);
  --border-strong: oklch(48% 0.05 285 / 0.20);
  --border-bright: oklch(62% 0.19 285 / 0.45);

  /* ── Text (tinted neutrals) ── */
  --text:#241f3a; --text-soft:#534d6b; --text-muted:#807a96; --text-dim:#aaa4bd;

  /* ── Accents (indigo → violet → blue) ── */
  --accent-1:#6d5cf0; --accent-2:#4f8ef7; --accent-3:#5b46d6; --accent-soft:oklch(62% 0.19 285 / 0.10);
  --green:#11a37a; --red:#ef4444;

  /* ── Gradients ── */
  --gradient:linear-gradient(135deg,#7b5cf5 0%,#4f8ef7 100%);
  --gradient-soft:linear-gradient(135deg, oklch(62% 0.19 285 / 0.16), oklch(66% 0.16 250 / 0.12));
  --gradient-text:linear-gradient(135deg,#5b46d6,#3f72d6);

  /* ── Radii (мягче) ── */
  --radius-sm:10px; --radius:16px; --radius-lg:22px;

  /* ── Elevation — мягкие многослойные тени с оттенком бренда ── */
  --shadow-sm:0 1px 2px oklch(45% 0.06 285 / 0.05), 0 2px 6px oklch(45% 0.06 285 / 0.06);
  --shadow:0 2px 4px oklch(45% 0.06 285 / 0.04), 0 8px 20px oklch(45% 0.08 285 / 0.09), 0 18px 40px oklch(45% 0.08 285 / 0.07);
  --shadow-lg:0 6px 14px oklch(45% 0.06 285 / 0.06), 0 20px 48px oklch(45% 0.10 285 / 0.16), 0 36px 80px oklch(45% 0.10 285 / 0.12);
  --shadow-brand:0 6px 18px oklch(60% 0.19 285 / 0.32), 0 2px 6px oklch(60% 0.19 285 / 0.20);

  --ease:cubic-bezier(.2,.7,.2,1); --ease-out:cubic-bezier(.16,1,.3,1);
  --font:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --font-mono:'JetBrains Mono',ui-monospace,'SF Mono',Menlo,monospace;
}
* { box-sizing:border-box; margin:0; padding:0; }
body { font-family:var(--font); color:var(--text); -webkit-font-smoothing:antialiased; min-height:100vh;
  background:
    radial-gradient(1100px 620px at 100% -8%, oklch(72% 0.16 288 / 0.13), transparent 62%),
    radial-gradient(900px 560px at -8% 3%, oklch(72% 0.15 250 / 0.10), transparent 58%),
    var(--bg);
  background-attachment:fixed; }
html[dir="rtl"] body { text-align:right; }
html[dir="rtl"] .topbar, html[dir="rtl"] .view-head, html[dir="rtl"] .card-foot,
html[dir="rtl"] .detail-head, html[dir="rtl"] .funnel-head { direction:rtl; }
html[dir="rtl"] .brand-btn, html[dir="rtl"] .home-deal-row { text-align:right; }
html[dir="rtl"] .home-metric { border-left:1px solid var(--border); border-right:4px solid var(--border-strong); }
html[dir="rtl"] .home-metric.hot { border-right-color:var(--red); } html[dir="rtl"] .home-metric.warm { border-right-color:#e8910c; }
html[dir="rtl"] .home-metric.ok { border-right-color:var(--green); } html[dir="rtl"] .home-metric.neutral { border-right-color:var(--accent-1); }
h1 { font-size:1.7rem; letter-spacing:0; } h2 { font-size:1.25rem; } h3 { font-size:1rem; margin-bottom:14px; }
.muted { color:var(--text-muted); font-size:.9rem; }
.strong { font-weight:600; } .ok { color:var(--green); } .bad { color:var(--text-muted); }

/* ── Кнопки ── */
.btn { font:inherit; font-weight:600; font-size:.9rem; border:1px solid transparent; border-radius:var(--radius-sm);
  padding:9px 16px; cursor:pointer; transition:all .2s var(--ease); white-space:nowrap; }
.btn-primary { background:var(--gradient); color:#fff; box-shadow:0 4px 16px rgba(37,99,235,.22); }
.btn-primary:hover { transform:translateY(-1px); box-shadow:0 8px 24px rgba(37,99,235,.30); }
.btn-ghost { background:transparent; color:var(--text-soft); border-color:var(--border-strong); }
.btn-ghost:hover { color:var(--text); background:var(--bg-soft); }
.btn-soft { background:var(--accent-soft); color:var(--accent-3); border-color:var(--border-bright); }
.btn-soft:hover { background:rgba(167,139,250,.2); }
.btn-danger { background:transparent; color:var(--red); border-color:rgba(239,68,68,.35); }
.btn-danger:hover { background:rgba(239,68,68,.12); }

/* ── Бренд ── */
.brand { font-weight:700; font-size:1.15rem; letter-spacing:0; display:flex; align-items:center; gap:9px; }
.brand-crm { color:var(--accent-3); }
.brand-dot { width:9px; height:9px; border-radius:50%; background:var(--gradient); box-shadow:0 0 12px rgba(37,99,235,.35); }

/* ── Логин ── */
.login { min-height:100vh; display:grid; place-items:center; padding:24px; }
.login-card { width:100%; max-width:380px; background:var(--bg-card); border:1px solid var(--border); border-radius:var(--radius-lg);
  padding:36px 32px; box-shadow:var(--shadow-lg); }
.login-card .brand { font-size:1.5rem; justify-content:center; }
.login-sub { text-align:center; color:var(--text-muted); margin:6px 0 26px; font-size:.92rem; }
.login-card form { display:flex; flex-direction:column; gap:14px; }
.login-card label, .modal-form label { display:flex; flex-direction:column; gap:6px; font-size:.82rem; color:var(--text-soft); font-weight:500; }
input, select { font:inherit; font-size:.92rem; background:var(--bg-soft); border:1px solid var(--border-strong); color:var(--text);
  border-radius:var(--radius-sm); padding:10px 12px; transition:border-color .2s; width:100%; }
input:focus, select:focus { outline:none; border-color:var(--accent-1); }
.login-err { color:var(--red); font-size:.85rem; min-height:1em; }
.login-card .btn { width:100%; padding:11px; }
.login-hint { margin-top:22px; padding-top:18px; border-top:1px solid var(--border); font-size:.78rem; color:var(--text-muted); line-height:1.7; }
.login-hint strong { color:var(--text-soft); }

/* Демо-доступы: подсвеченная рамка + анимированная стрелка + копирование */
.demo-wrap { position:relative; margin-top:30px; }
.demo-arrow { position:absolute; top:-30px; right:26px; color:var(--accent-1); pointer-events:none;
  animation:demoBob 1.5s var(--ease) infinite; filter:drop-shadow(0 4px 8px oklch(62% 0.19 285 / 0.35)); }
@keyframes demoBob { 0%,100% { transform:translateY(0) rotate(0deg); } 50% { transform:translateY(8px) rotate(-4deg); } }
.demo-box { border:1.5px solid var(--border-bright); background:var(--accent-soft); border-radius:var(--radius);
  padding:14px; animation:demoPulse 2.2s ease-in-out infinite; }
@keyframes demoPulse {
  0%,100% { box-shadow:0 0 0 3px oklch(62% 0.19 285 / 0.07); }
  50%     { box-shadow:0 0 0 8px oklch(62% 0.19 285 / 0.14); }
}
.demo-title { font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:var(--accent-3); margin-bottom:10px; }
.demo-list { list-style:none; display:flex; flex-direction:column; gap:9px; }
.demo-acc { display:grid; grid-template-columns:88px minmax(0,1fr); align-items:start; gap:10px; padding:10px; border-radius:11px; cursor:pointer;
  background:var(--bg-card); border:1px solid var(--border); transition:transform .15s var(--ease-out), box-shadow .2s, border-color .2s; }
.demo-acc:hover { border-color:var(--border-bright); box-shadow:var(--shadow-sm); transform:translateY(-1px); }
.demo-role { color:var(--text-muted); font-size:.72rem; font-weight:700; line-height:1.35; padding-top:4px; }
.demo-rows { min-width:0; display:flex; flex-direction:column; gap:6px; }
.demo-row { display:grid; grid-template-columns:58px minmax(0,1fr) 30px; align-items:center; gap:8px; min-height:30px; }
.demo-lbl { color:var(--text-muted); font-size:.68rem; font-weight:700; }
.demo-val { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-family:var(--font-mono); font-size:.78rem;
  color:var(--text); background:transparent; padding:0; }
.demo-copy { width:30px; height:30px; flex-shrink:0; display:grid; place-items:center; border-radius:9px;
  border:1px solid var(--border); background:var(--bg-soft); color:var(--text-muted); cursor:pointer; transition:all .15s; }
.demo-copy:hover { color:var(--accent-3); border-color:var(--border-bright); background:var(--accent-soft); }
.demo-copy.copied { color:#fff; background:var(--green); border-color:var(--green); }
.demo-copy svg { width:15px; height:15px; }
.login-lang { display:flex; justify-content:center; margin-top:16px; }
.lang-select select { min-width:74px; width:auto; padding:7px 10px; font-weight:700; }

/* ── Топбар ── */
.topbar { display:flex; align-items:center; gap:24px; padding:0 28px; min-height:64px;
  border-bottom:1px solid var(--border); background:rgba(255,255,255,.86); backdrop-filter:blur(14px); position:sticky; top:0; z-index:50; }
.tabs { display:flex; gap:4px; }
.tab { background:transparent; border:none; color:var(--text-muted); font:inherit; font-weight:600; font-size:.92rem;
  padding:8px 16px; border-radius:var(--radius-sm); cursor:pointer; transition:all .2s; }
.tab:hover { color:var(--text); background:var(--bg-soft); }
.tab.active { color:var(--text); background:var(--accent-soft); }
.topbar-right { margin-left:auto; display:flex; align-items:center; gap:16px; }
html[dir="rtl"] .topbar-right { margin-left:0; margin-right:auto; }
.user { display:flex; align-items:center; gap:10px; }
.avatar { width:34px; height:34px; border-radius:50%; background:var(--gradient); color:#fff; font-weight:700; font-size:.8rem;
  display:grid; place-items:center; flex-shrink:0; }
.avatar.sm { width:24px; height:24px; font-size:.65rem; display:inline-grid; vertical-align:middle; }
.user-meta { display:flex; flex-direction:column; line-height:1.2; }
.user-name { font-weight:600; font-size:.9rem; } .user-role { font-size:.74rem; color:var(--text-muted); }

/* ── Контент ── */
main { padding:28px; max-width:1320px; margin:0 auto; }
.view-head { display:flex; justify-content:space-between; align-items:flex-end; gap:16px; margin-bottom:22px; flex-wrap:wrap; }
.filter-bar { margin-bottom:18px; }
.select-wrap { font-size:.85rem; color:var(--text-soft); display:inline-flex; align-items:center; gap:10px; }
.select-wrap select { width:auto; min-width:180px; }

/* ── Канбан ── */
.board { display:grid; grid-template-columns:repeat(5,minmax(220px,1fr)); gap:14px; align-items:start; overflow-x:auto; padding-bottom:8px; }
.col { background:linear-gradient(180deg, color-mix(in srgb, var(--c) 12%, var(--bg-elev)), var(--bg-elev) 58%);
  border:1px solid color-mix(in srgb, var(--c) 24%, var(--border)); border-top:3px solid color-mix(in srgb, var(--c) 70%, #fff);
  border-radius:var(--radius); padding:12px; min-height:120px; }
.col-head { display:flex; justify-content:space-between; align-items:center; font-size:.85rem; font-weight:600; }
.col-title { display:flex; align-items:center; gap:8px; }
.col-dot { width:8px; height:8px; border-radius:50%; background:var(--c); box-shadow:0 0 8px var(--c); }
.col-count { background:color-mix(in srgb, var(--c) 14%, var(--track)); color:var(--text-soft); border-radius:20px; padding:1px 9px; font-size:.78rem; font-family:var(--font-mono); }
.col-sum { font-family:var(--font-mono); font-size:.78rem; color:var(--text-muted); margin:6px 0 10px; }
.col-body { display:flex; flex-direction:column; gap:10px; min-height:60px; border-radius:var(--radius-sm); transition:background .2s; }
.col-body.drop { background:var(--accent-soft); outline:1px dashed var(--border-bright); outline-offset:3px; }
.col-empty { color:var(--text-dim); font-size:.8rem; text-align:center; padding:18px 0; }
.card { background:linear-gradient(180deg, color-mix(in srgb, var(--c) 9%, #fff), var(--bg-card) 42%);
  border:1px solid color-mix(in srgb, var(--c) 18%, var(--border)); border-top:2px solid color-mix(in srgb, var(--c) 42%, #fff);
  border-radius:var(--radius-sm); padding:12px; cursor:pointer; box-shadow:0 2px 8px oklch(45% 0.06 285 / 0.055);
  transition:all .18s var(--ease); }
.card:hover { background:linear-gradient(180deg, color-mix(in srgb, var(--c) 13%, #fff), var(--bg-card-hover) 46%);
  border-color:color-mix(in srgb, var(--c) 32%, var(--border-strong)); transform:translateY(-2px); box-shadow:var(--shadow); }
.card.dragging { opacity:.45; }
.card-top { display:flex; justify-content:space-between; align-items:center; gap:8px; margin-bottom:9px; }
.card-risk { display:inline-flex; align-items:center; min-height:22px; border-radius:20px; padding:2px 8px; font-size:.68rem; font-weight:700; }
.card-risk.hot, .deal-summary .hot { color:#b91c1c; background:#fee2e2; }
.card-risk.warm, .deal-summary .warm { color:#92400e; background:#fef3c7; }
.card-risk.ok, .deal-summary .ok { color:#047857; background:#d1fae5; }
.card-risk.done, .deal-summary .done { color:#334155; background:#e2e8f0; }
.card-prob { font-family:var(--font-mono); font-size:.72rem; color:color-mix(in srgb, var(--c) 55%, var(--text-soft)); font-weight:700; }
.card-title { font-weight:700; font-size:.92rem; line-height:1.25; margin-bottom:4px; }
.card-contact { color:var(--text-muted); font-size:.8rem; margin-bottom:10px; }
.card-foot { display:flex; justify-content:space-between; align-items:center; margin-bottom:9px; }
.card-amount { font-family:var(--font-mono); font-weight:600; color:var(--accent-3); font-size:.88rem; }
.card-source { font-size:.72rem; color:var(--text-muted); }
.card-progress { height:5px; background:color-mix(in srgb, var(--c) 10%, var(--track)); border-radius:999px; overflow:hidden; margin-bottom:10px; }
.card-progress span { display:block; height:100%; background:linear-gradient(90deg, var(--accent-1), color-mix(in srgb, var(--c) 72%, var(--accent-2))); border-radius:999px; }
.card-next { display:flex; flex-direction:column; gap:2px; margin-bottom:10px; padding:8px; background:color-mix(in srgb, var(--c) 8%, var(--bg-soft)); border-radius:var(--radius-sm); }
.card-next span { color:var(--text-muted); font-size:.7rem; }
.card-next b { color:var(--text-soft); font-size:.78rem; line-height:1.25; font-weight:600; }
.card-meta { display:flex; gap:6px; flex-wrap:wrap; }
.chip { font-size:.7rem; background:var(--track); color:var(--text-soft); border-radius:6px; padding:2px 8px; }
.chip-soft { background:var(--accent-soft); color:var(--accent-3); }

/* ── Модалка ── */
.overlay { position:fixed; inset:0; background:rgba(23,32,51,.32); backdrop-filter:blur(4px); display:grid; place-items:center;
  padding:24px; z-index:100; animation:fade .15s ease; }
@keyframes fade { from { opacity:0; } }
.modal { width:100%; max-width:560px; max-height:90vh; overflow-y:auto; background:var(--bg-card); border:1px solid var(--border-strong);
  border-radius:var(--radius-lg); padding:28px; box-shadow:var(--shadow-lg); position:relative; animation:modalIn .2s var(--ease-out); }
@keyframes modalIn { from { opacity:0; transform:translateY(10px) scale(.985); } }
.deal-modal { max-width:1040px; padding:30px; background:#f6f8fc; border-color:#e5e7eb; }
.modal-sm { max-width:420px; }
.head-actions { display:flex; gap:10px; align-items:center; }
.field-label { display:block; font-size:.82rem; color:var(--text-soft); font-weight:500; margin-bottom:8px; }
.color-field { margin-top:2px; }
.color-grid { display:flex; gap:10px; flex-wrap:wrap; }
.color-dot { position:relative; cursor:pointer; }
.color-dot input { position:absolute; opacity:0; inset:0; cursor:pointer; }
.color-dot span { display:block; width:28px; height:28px; border-radius:50%; background:var(--c);
  box-shadow:0 0 0 2px var(--bg-card), 0 0 0 2px var(--c); transition:transform .15s var(--ease); }
.color-dot input:checked + span { transform:scale(1.12); box-shadow:0 0 0 2px var(--bg-card), 0 0 0 4px var(--c); }
.hint { font-size:.78rem; color:var(--text-muted); margin:2px 0 0; }
.modal-title { padding-right:34px; margin-bottom:16px; }
.modal h2 { margin-bottom:4px; padding-right:0; }
.modal-title p { color:var(--text-muted); font-size:.82rem; }
.modal-close { position:absolute; top:18px; right:18px; width:36px; height:36px; display:grid; place-items:center;
  background:rgba(255,255,255,.78); border:1px solid var(--border); border-radius:50%; color:var(--text-muted);
  font-size:1rem; cursor:pointer; transition:all .18s var(--ease); z-index:2; }
.modal-close:hover { color:var(--text); background:#fff; border-color:var(--border-bright); box-shadow:var(--shadow-sm); }
.modal-form { display:flex; flex-direction:column; gap:14px; }
.deal-summary { display:grid; grid-template-columns:repeat(5,1fr); gap:10px; margin-bottom:16px; }
.deal-summary > div { min-width:0; background:var(--bg-soft); border:1px solid var(--border); border-radius:var(--radius-sm); padding:10px 12px; }
.deal-summary span { display:block; color:var(--text-muted); font-size:.72rem; margin-bottom:4px; }
.deal-summary b { display:inline-flex; color:var(--text); font-size:.86rem; font-weight:700; border-radius:18px; padding:0; }
.deal-summary b.hot, .deal-summary b.warm, .deal-summary b.ok, .deal-summary b.done { padding:1px 7px; }
.row { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.row-3 { grid-template-columns:1fr 1fr 1fr; }
.modal-actions { display:flex; justify-content:space-between; align-items:center; margin-top:6px; }
.deal-modal-title { display:flex; justify-content:space-between; align-items:flex-start; gap:18px; padding-right:42px; margin-bottom:16px; }
.deal-modal-title h2 { font-size:1.55rem; color:#111827; }
.deal-title-badges { display:flex; align-items:center; justify-content:flex-end; gap:8px; flex-wrap:wrap; }
.deal-mini-badge, .deal-status-badge { display:inline-flex; align-items:center; min-height:26px; padding:4px 9px; border-radius:999px;
  font-size:.72rem; font-weight:700; white-space:nowrap; }
.deal-mini-badge { color:#4b5563; background:#fff; border:1px solid #e5e7eb; }
.deal-mini-badge.forecast { color:#5b46d6; background:rgba(124,58,237,.08); border-color:rgba(124,58,237,.22); }
.deal-status-badge { color:var(--badge); background:color-mix(in srgb, var(--badge) 12%, #fff); border:1px solid color-mix(in srgb, var(--badge) 28%, #fff); }
.deal-summary-strip { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; margin:0 0 18px; }
.deal-summary-item { min-width:0; padding:12px 14px; background:#fff; border:1px solid #e5e7eb; border-radius:18px; box-shadow:var(--shadow-sm);
  transition:transform .18s var(--ease-out), box-shadow .2s var(--ease), border-color .2s var(--ease); }
.deal-summary-item:hover { transform:translateY(-1px); border-color:#d4d8e4; box-shadow:0 8px 24px oklch(45% 0.06 285 / 0.08); }
.deal-summary-item span { display:block; margin-bottom:5px; color:#6b7280; font-size:.72rem; font-weight:600; }
.deal-summary-item b { display:block; color:#111827; font-size:.88rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.deal-summary-money b { color:#2563eb; font-family:var(--font-mono); font-size:1.05rem; }
.deal-form-section { padding:20px; background:#fff; border:1px solid #e5e7eb; border-radius:22px; box-shadow:var(--shadow-sm); }
.deal-form-section.compact { margin-top:12px; }
.deal-section-head { display:flex; gap:12px; align-items:flex-start; margin-bottom:16px; }
.deal-section-icon { width:38px; height:38px; flex-shrink:0; display:grid; place-items:center; border-radius:13px;
  color:#2563eb; background:linear-gradient(135deg, rgba(37,99,235,.10), rgba(124,58,237,.10)); }
.deal-section-icon svg { width:19px; height:19px; }
.deal-section-head b { display:block; color:#111827; font-size:.98rem; margin-bottom:3px; }
.deal-section-head small { display:block; color:#6b7280; font-size:.78rem; line-height:1.35; }
.deal-section-body { display:flex; flex-direction:column; gap:14px; }
.deal-modal .modal-form label { color:#374151; font-weight:650; gap:7px; }
.deal-modal input, .deal-modal select, .deal-modal textarea { min-height:50px; background:#f7f8fc; border-color:#e2e8f0;
  border-radius:14px; color:#111827; transition:border-color .18s var(--ease), box-shadow .18s var(--ease), background .18s var(--ease); }
.deal-modal textarea { min-height:92px; }
.deal-modal input:focus, .deal-modal select:focus, .deal-modal textarea:focus { border-color:#7c3aed; background:#fff;
  box-shadow:0 0 0 4px rgba(124,58,237,.10); }
.field-help { color:#6b7280; font-size:.72rem; font-weight:500; line-height:1.35; }
.probability-bar { display:block; height:6px; overflow:hidden; background:#e9edf5; border-radius:999px; }
.probability-bar span { display:block; height:100%; width:0; background:linear-gradient(90deg,#2563eb,#7c3aed); border-radius:inherit; transition:width .25s var(--ease); }
.probability-bar span.strong { background:linear-gradient(90deg,#2563eb,#06b6d4); }
.probability-bar span.done { background:#10b981; }
.label-inline { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:8px; }
.field-badge { display:inline-flex; align-items:center; justify-content:center; min-height:34px; padding:7px 10px; border-radius:12px;
  font-size:.72rem; font-weight:800; white-space:nowrap; }
.field-badge.ok { color:#047857; background:rgba(16,185,129,.12); }
.field-badge.warm { color:#b45309; background:rgba(245,158,11,.14); }
.field-badge.hot { color:#dc2626; background:rgba(239,68,68,.12); }
.deal-advanced { background:transparent; }
.deal-advanced summary { cursor:pointer; list-style:none; width:max-content; max-width:100%; margin:0 0 2px; padding:9px 13px;
  color:#5b46d6; background:rgba(124,58,237,.08); border:1px solid rgba(124,58,237,.20); border-radius:14px; font-weight:750; font-size:.84rem; }
.deal-advanced summary::-webkit-details-marker { display:none; }
.deal-sticky-footer { position:sticky; bottom:-30px; z-index:3; display:flex; justify-content:space-between; align-items:center; gap:16px;
  margin:4px -30px -30px; padding:16px 30px; background:rgba(255,255,255,.86); backdrop-filter:blur(14px);
  border-top:1px solid #e5e7eb; border-radius:0 0 var(--radius-lg) var(--radius-lg); }
.footer-help { color:#6b7280; font-size:.82rem; }
.footer-actions { display:flex; justify-content:flex-end; align-items:center; gap:10px; flex-wrap:wrap; }
.deal-sticky-footer .btn-primary { background:linear-gradient(135deg,#2563eb,#7c3aed); box-shadow:0 10px 24px rgba(37,99,235,.22); }
.activities { margin-top:24px; padding-top:22px; border-top:1px solid var(--border); }
.act-form { display:grid; grid-template-columns:160px 1fr auto; gap:8px; margin-bottom:16px; }
.act-form select { width:auto; }
.act-list { list-style:none; display:flex; flex-direction:column; gap:12px; }
.act-list li { display:flex; gap:11px; align-items:flex-start; }
.act-ic { font-size:1.05rem; flex-shrink:0; }
.act-cmt { font-size:.9rem; } .act-sub { font-size:.74rem; color:var(--text-muted); margin-top:2px; }

/* ── Дашборд ── */
.period { display:flex; gap:6px; align-items:center; flex-wrap:wrap; }
.seg { background:var(--bg-soft); border:1px solid var(--border-strong); color:var(--text-soft); font:inherit; font-size:.82rem;
  font-weight:600; padding:7px 13px; border-radius:var(--radius-sm); cursor:pointer; transition:all .2s; }
.seg:hover { color:var(--text); } .seg.active { background:var(--accent-soft); color:var(--accent-3); border-color:var(--border-bright); }
.period input[type=date] { width:auto; padding:6px 10px; font-size:.82rem; }
.sales-brief { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-bottom:14px; }
.brief-item { background:var(--bg-card); border:1px solid var(--border); border-left:4px solid var(--border-strong); border-radius:var(--radius-sm); padding:12px 14px; }
.brief-item.hot { border-left-color:var(--red); }
.brief-item.warm { border-left-color:#f59e0b; }
.brief-item.ok { border-left-color:var(--green); }
.brief-item.neutral { border-left-color:var(--accent-1); }
.brief-item span, .brief-item em { display:block; color:var(--text-muted); font-size:.73rem; font-style:normal; }
.brief-item b { display:block; font-family:var(--font-mono); font-size:1.15rem; margin:3px 0; }
.kpi-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-bottom:18px; }
.kpi { background:var(--bg-card); border:1px solid var(--border); border-radius:var(--radius); padding:18px; }
.kpi-ic { width:28px; height:28px; display:grid; place-items:center; border-radius:8px; background:var(--accent-soft);
  color:var(--accent-3); font-weight:800; font-size:.82rem; margin-bottom:12px; font-family:var(--font-mono); }
.kpi-val { font-size:1.42rem; font-weight:700; letter-spacing:0; font-family:var(--font-mono); }
.kpi-lbl { font-size:.78rem; color:var(--text-muted); margin-top:3px; }
.dash-cols { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr); gap:16px; margin-bottom:16px; }
.panel { background:var(--bg-card); border:1px solid var(--border); border-radius:var(--radius); padding:20px; }
.chart-box { position:relative; width:100%; }
.chart-box-sm { height:260px; }
.chart-box-wide { height:310px; }
.rank { width:100%; border-collapse:collapse; font-size:.86rem; }
.rank th { text-align:left; color:var(--text-muted); font-weight:500; font-size:.76rem; padding:8px 10px; border-bottom:1px solid var(--border); }
.rank td { padding:11px 10px; border-bottom:1px solid var(--border); }
.rank tr:last-child td { border-bottom:none; }
.rank-name { display:flex; align-items:center; gap:8px; font-weight:600; }
.rank-pos { width:20px; height:20px; border-radius:6px; background:var(--accent-soft); color:var(--accent-3); font-size:.72rem;
  display:grid; place-items:center; font-family:var(--font-mono); }
.bar { display:inline-block; width:54px; height:6px; background:var(--track); border-radius:4px; overflow:hidden; margin-right:7px; vertical-align:middle; }
.bar span { display:block; height:100%; background:var(--gradient); border-radius:4px; }

/* ── Умный дашборд: виджеты ── */
.kpi { position:relative; }
.kpi-sub { font-size:.72rem; color:var(--text-muted); margin-top:6px; font-family:var(--font-mono); }
.dash-sec { margin-top:26px; margin-bottom:14px; }

/* кольца прогресса */
.ring { position:relative; width:74px; height:74px; border-radius:50%; flex-shrink:0; display:grid; place-items:center;
  background:conic-gradient(var(--rc, var(--accent-1)) calc(var(--p,0)*1%), var(--track) 0); }
.ring::after { content:''; position:absolute; inset:8px; border-radius:50%; background:var(--bg-card); }
.ring span { position:relative; z-index:1; font-family:var(--font-mono); font-weight:700; font-size:.92rem; }
.ring-lg { width:150px; height:150px; margin:6px auto 0; }
.ring-lg::after { inset:14px; }
.ring-lg span { font-size:1.7rem; color:var(--accent-3); }
.kpi-ring { display:flex; align-items:center; gap:14px; }
.kpi-ringmeta { display:flex; flex-direction:column; min-width:0; }

.panel-center { display:flex; flex-direction:column; align-items:center; text-align:center; }
.ring-stats { display:flex; gap:22px; margin-top:18px; }
.ring-stats b { display:block; font-size:1.3rem; font-family:var(--font-mono); }
.ring-stats span { font-size:.74rem; color:var(--text-muted); }

/* воронка */
.funnel { display:flex; flex-direction:column; gap:14px; margin-top:4px; }
.funnel-head { display:flex; justify-content:space-between; align-items:center; font-size:.86rem; margin-bottom:6px; }
.funnel-head .dot { display:inline-block; width:8px; height:8px; border-radius:50%; margin-right:8px; }
.funnel-c { font-family:var(--font-mono); font-size:.8rem; color:var(--text-muted); }
.funnel-track { height:10px; background:var(--track); border-radius:6px; overflow:hidden; }
.funnel-bar { height:100%; border-radius:6px; transition:width .5s var(--ease); }

/* финансовая сетка */
.fin-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.fin-grid .kpi { background:var(--bg-soft); }

/* риски */
.risk-cols { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.risk-card { display:flex; flex-direction:column; }
.risk-head { display:flex; justify-content:space-between; align-items:center; margin-bottom:6px; }
.risk-head h3 { margin:0; font-size:.92rem; }
.risk-badge { font-family:var(--font-mono); font-size:.78rem; background:var(--track); color:var(--text-soft);
  border-radius:20px; padding:1px 10px; }
.risk-badge.hot { background:#fee2e2; color:#b91c1c; }
.risk-list, .reason-list { list-style:none; display:flex; flex-direction:column; gap:10px; margin-top:6px; }
.risk-list li { display:flex; justify-content:space-between; align-items:center; gap:10px; padding:9px 11px;
  background:var(--bg-soft); border:1px solid var(--border); border-radius:var(--radius-sm); cursor:pointer; transition:all .15s; }
.risk-list li:hover { border-color:var(--border-strong); background:var(--bg-card-hover); }
.risk-list b { font-size:.86rem; display:block; }
.risk-sub { font-size:.72rem; color:var(--text-muted); }
.reason-list li { font-size:.84rem; }
.reason-head { display:flex; justify-content:space-between; margin-bottom:5px; }
.risk-empty { color:var(--text-dim); font-size:.84rem; padding:14px 0; text-align:center; }

/* ── Модалка: новые поля ── */
textarea { font:inherit; font-size:.92rem; background:var(--bg-soft); border:1px solid var(--border-strong); color:var(--text);
  border-radius:var(--radius-sm); padding:10px 12px; width:100%; resize:vertical; }
textarea:focus { outline:none; border-color:var(--accent-1); }
.form-section { font-size:.74rem; font-weight:600; text-transform:uppercase; letter-spacing:.06em; color:var(--accent-3);
  margin:8px 0 -2px; padding-top:8px; border-top:1px solid var(--border); }
.calc-row, .id-row { display:flex; gap:18px; flex-wrap:wrap; font-size:.82rem; color:var(--text-muted); }
.calc-row b { color:var(--accent-3); font-family:var(--font-mono); }
.id-row code { color:var(--text-soft); }
code { font-family:var(--font-mono); font-size:.85em; background:var(--track); padding:1px 6px; border-radius:5px; }

/* ── Реестр (кабинет руководителя) ── */
.reg-tools { display:flex; gap:10px; }
.reg-filters { display:flex; gap:10px; margin-bottom:14px; flex-wrap:wrap; }
.reg-filters input { flex:1; min-width:220px; } .reg-filters select { width:auto; min-width:150px; }
.reg-totals { display:flex; gap:12px; margin-bottom:16px; flex-wrap:wrap; }
.reg-totals > div { flex:1; min-width:160px; background:var(--bg-card); border:1px solid var(--border); border-radius:var(--radius); padding:14px 16px; }
.reg-totals span { display:block; font-size:.76rem; color:var(--text-muted); margin-bottom:4px; }
.reg-totals b { font-size:1.25rem; font-family:var(--font-mono); }
.reg-wrap { overflow-x:auto; border:1px solid var(--border); border-radius:var(--radius); background:var(--bg-card); }
table.reg { border-collapse:collapse; font-size:.82rem; white-space:nowrap; }
table.reg th { position:sticky; top:0; background:var(--bg-soft); color:var(--text-muted); font-weight:600; font-size:.72rem;
  text-align:left; padding:11px 12px; border-bottom:1px solid var(--border-strong); z-index:2; }
html[dir="rtl"] table.reg th { text-align:right; }
table.reg td { padding:10px 12px; border-bottom:1px solid var(--border); color:var(--text-soft); }
table.reg th:first-child, table.reg td:first-child { position:sticky; left:0; z-index:3; background:var(--bg-card); }
table.reg th:first-child { background:var(--bg-soft); z-index:4; }
html[dir="rtl"] table.reg th:first-child, html[dir="rtl"] table.reg td:first-child { left:auto; right:0; }
table.reg tbody tr { cursor:pointer; transition:background .15s; }
table.reg tbody tr:hover { background:var(--bg-card-hover); }
table.reg tbody tr:last-child td { border-bottom:none; }
.reg-empty { text-align:center; color:var(--text-dim); padding:28px !important; cursor:default; }
.num { font-family:var(--font-mono); } .num.strong { color:var(--accent-3); font-weight:600; }
.dim { color:var(--text-dim); }
.cell-notes { display:inline-block; max-width:220px; overflow:hidden; text-overflow:ellipsis; vertical-align:bottom; }
.ext { color:var(--accent-2); text-decoration:none; } .ext:hover { text-decoration:underline; }
.badge { display:inline-block; font-size:.72rem; font-weight:600; padding:2px 9px; border-radius:20px;
  background:color-mix(in srgb, var(--bc, #888) 18%, transparent); color:var(--bc, #ccc); border:1px solid color-mix(in srgb, var(--bc, #888) 35%, transparent); }
.badge-pos { --bc:#10b981; } .badge-neu { --bc:#60a5fa; } .badge-neg { --bc:#ef4444; }
.prob { display:flex; align-items:center; gap:7px; }
.prob-bar { width:46px; height:6px; background:var(--track); border-radius:4px; overflow:hidden; }
.prob-bar span { display:block; height:100%; background:var(--gradient); border-radius:4px; }
.prob-n { font-family:var(--font-mono); font-size:.76rem; color:var(--text-muted); }

/* ============================================================
   Premium depth layer — тени, градиенты, выразительность, зоны
   ============================================================ */

/* Кнопки и бренд */
.btn-primary { box-shadow:var(--shadow-brand); }
.btn-primary:hover { transform:translateY(-1px); box-shadow:0 10px 26px oklch(60% 0.19 285 / 0.42), 0 3px 8px oklch(60% 0.19 285 / 0.26); }
.btn-soft:hover { background:var(--accent-soft); filter:brightness(.97); }
.brand-dot { box-shadow:0 0 14px oklch(62% 0.19 285 / 0.6); }

/* Топбар — приподнят, мягкая тень под линией, лёгкий стеклянный фон */
.topbar { background:oklch(99% 0.004 285 / 0.82); box-shadow:inset 0 1px 0 oklch(100% 0 0 / 0.6), 0 6px 20px oklch(45% 0.06 285 / 0.06); }
.tab.active { box-shadow:inset 0 0 0 1px var(--border-bright); }
.avatar { box-shadow:var(--shadow-brand); }

/* Колонки воронки — выраженные зоны, цветной верхний акцент по этапу */
.col { position:relative; border-radius:var(--radius-lg); padding:16px 13px 13px; box-shadow:var(--shadow-sm); overflow:hidden; }
.col::before { content:''; position:absolute; inset:0 0 auto 0; height:3px;
  background:linear-gradient(90deg, var(--c, var(--accent-1)), transparent 88%); opacity:.9; }
html[dir="rtl"] .col::before { background:linear-gradient(270deg, var(--c, var(--accent-1)), transparent 88%); }
.col-count { background:color-mix(in oklab, var(--c, var(--accent-1)) 16%, transparent); color:var(--text-soft); }

/* Карточки сделок — глубина, лёгкий оттенок этапа сверху, подъём при наведении */
.card { position:relative; border-radius:var(--radius); padding:13px 14px;
  background:
    linear-gradient(180deg, color-mix(in oklab, var(--c, transparent) 8%, transparent), transparent 42%),
    linear-gradient(180deg, oklch(100% 0 0 / 0.55), transparent 32%),
    var(--bg-card);
  box-shadow:var(--shadow-sm);
  transition:transform .24s var(--ease-out), box-shadow .3s var(--ease), border-color .2s var(--ease); }
.card:hover { transform:translateY(-3px); border-color:var(--border-bright); box-shadow:var(--shadow);
  background:
    linear-gradient(180deg, color-mix(in oklab, var(--c, transparent) 13%, transparent), transparent 42%),
    var(--bg-card); }

/* Панели, KPI, виджеты — мягкая тень вместо плоской рамки + подъём */
.panel, .reg-totals > div, .reg-wrap, .kpi { box-shadow:var(--shadow-sm); }
.kpi { transition:transform .24s var(--ease-out), box-shadow .3s var(--ease); }
.kpi:hover, .panel:hover { box-shadow:var(--shadow); }
.kpi:hover { transform:translateY(-2px); }
.kpi-ic { background:var(--gradient); color:#fff; box-shadow:var(--shadow-brand); }
.rank-pos { background:var(--gradient); color:#fff; }
.ring-stats b.ok, .ok { color:var(--green); }

/* Sales-brief — без боковых полосок: верхний акцент + тонированный фон по тону */
.brief-item { position:relative; border:1px solid var(--border); border-radius:var(--radius); box-shadow:var(--shadow-sm); overflow:hidden; padding:14px 16px; }
.brief-item::before { content:''; position:absolute; inset:0 0 auto 0; height:3px; background:var(--tone, var(--accent-1)); opacity:.9; }
.brief-item.hot     { --tone:var(--red);      background:linear-gradient(180deg, oklch(62% 0.20 25 / 0.07), transparent 58%), var(--bg-card); }
.brief-item.warm    { --tone:#e8910c;         background:linear-gradient(180deg, oklch(80% 0.15 70 / 0.12), transparent 58%), var(--bg-card); }
.brief-item.ok      { --tone:var(--green);    background:linear-gradient(180deg, oklch(64% 0.14 158 / 0.09), transparent 58%), var(--bg-card); }
.brief-item.neutral { --tone:var(--accent-1); background:linear-gradient(180deg, oklch(62% 0.19 285 / 0.09), transparent 58%), var(--bg-card); }
.brief-item.hot b { color:var(--red); } .brief-item.warm b { color:#c2740a; }
.brief-item.ok b { color:var(--green); } .brief-item.neutral b { color:var(--accent-3); }
.brief-item.clickable { cursor:pointer; transition:transform .18s var(--ease-out), box-shadow .24s var(--ease), border-color .2s var(--ease); }
.brief-item.clickable:hover { transform:translateY(-2px); border-color:var(--border-bright); box-shadow:var(--shadow); }
.brief-item.clickable:focus-visible { outline:3px solid var(--accent-soft); outline-offset:3px; }

/* Модалки и логин — выраженная глубина и фирменный акцент */
.modal { box-shadow:var(--shadow-lg); }
.login { background:radial-gradient(820px 500px at 50% -12%, oklch(70% 0.18 288 / 0.18), transparent 62%); }
.login-card { position:relative; overflow:hidden; }
.login-card::before { content:''; position:absolute; inset:0 0 auto 0; height:4px; background:var(--gradient); }

/* ============================================================
   Sidebar layout + новые разделы
   ============================================================ */
.layout { display:flex; align-items:stretch; min-height:100vh; }
.content { flex:1; min-width:0; }
.sidebar { width:244px; flex-shrink:0; position:sticky; top:0; height:100vh; display:flex; flex-direction:column;
  gap:6px; padding:20px 14px 16px; background:linear-gradient(180deg, var(--bg-card), var(--bg-elev));
  border-right:1px solid var(--border); box-shadow:6px 0 24px oklch(45% 0.06 285 / 0.05); z-index:40; }
.side-brand { font-size:1.22rem; padding:6px 10px 16px; }
.brand-btn { width:100%; border:0; background:transparent; color:var(--text); cursor:pointer; text-align:left; transition:color .18s var(--ease); }
.brand-btn:hover, .brand-btn.active { color:var(--accent-3); }
.side-nav { display:flex; flex-direction:column; gap:3px; flex:1; }
.nav-item { display:flex; align-items:center; gap:12px; width:100%; text-align:left; border:none; background:transparent;
  color:var(--text-soft); font:inherit; font-weight:600; font-size:.92rem; padding:10px 12px; border-radius:12px;
  cursor:pointer; transition:background .18s var(--ease), color .18s var(--ease); }
.nav-item:hover { background:var(--bg-soft); color:var(--text); }
.nav-item.active { background:var(--accent-soft); color:var(--accent-3); box-shadow:inset 0 0 0 1px var(--border-bright); }
.nav-ic { width:18px; height:18px; flex-shrink:0; opacity:.85; }
.nav-item.active .nav-ic { color:var(--accent-1); opacity:1; }
.side-foot { border-top:1px solid var(--border); padding-top:12px; display:flex; flex-direction:column; gap:12px; }
.side-foot .lang-select select { width:100%; }
.side-user { display:flex; align-items:center; gap:10px; }
.icon-btn { margin-left:auto; width:32px; height:32px; flex-shrink:0; display:grid; place-items:center; border-radius:9px;
  border:1px solid var(--border); background:var(--bg-card); color:var(--text-muted); cursor:pointer; transition:all .18s; font-size:.9rem; }
.icon-btn:hover { color:var(--accent-3); border-color:var(--border-bright); background:var(--accent-soft); }
.icon-btn .nav-ic { width:16px; height:16px; }
.avatar.lg { width:44px; height:44px; font-size:1rem; }
.empty-state { text-align:center; color:var(--text-muted); padding:64px 20px; font-size:.95rem;
  background:var(--bg-card); border:1px solid var(--border); border-radius:var(--radius); box-shadow:var(--shadow-sm); }

/* Главная по клику на Minox */
.home-hero { display:flex; justify-content:space-between; align-items:flex-end; gap:18px; margin-bottom:16px; padding:22px;
  background:var(--bg-card); border:1px solid var(--border); border-radius:var(--radius); box-shadow:var(--shadow-sm); }
.eyebrow { margin-bottom:6px; color:var(--accent-3); font-size:.74rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.home-actions { display:flex; gap:10px; flex-wrap:wrap; }
.home-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-bottom:16px; }
.home-metric { min-width:0; padding:14px 16px; background:var(--bg-card); border:1px solid var(--border);
  border-left:4px solid var(--border-strong); border-radius:var(--radius-sm); box-shadow:var(--shadow-sm); }
.home-metric.hot { border-left-color:var(--red); } .home-metric.warm { border-left-color:#e8910c; }
.home-metric.ok { border-left-color:var(--green); } .home-metric.neutral { border-left-color:var(--accent-1); }
.home-metric span, .home-metric em { display:block; color:var(--text-muted); font-size:.74rem; font-style:normal; }
.home-metric b { display:block; margin:4px 0; font-family:var(--font-mono); font-size:1.35rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.home-grid { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr); gap:16px; }
.home-panel { min-width:0; }
.home-panel-head { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; margin-bottom:14px; }
.home-panel-head h3 { margin-bottom:4px; }
.home-task-list { margin-top:0; }
.home-deal-list { display:flex; flex-direction:column; gap:10px; }
.home-deal-row { width:100%; display:grid; grid-template-columns:auto minmax(0,1fr) auto auto; align-items:center; gap:10px;
  padding:10px 12px; color:var(--text); text-align:left; background:var(--bg-soft); border:1px solid var(--border);
  border-radius:var(--radius-sm); cursor:pointer; transition:all .16s var(--ease); }
.home-deal-row:hover { background:var(--bg-card-hover); border-color:var(--border-bright); box-shadow:var(--shadow-sm); transform:translateY(-1px); }
.home-deal-main { min-width:0; display:flex; flex-direction:column; gap:2px; }
.home-deal-main b, .home-deal-main small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.home-deal-main small { color:var(--text-muted); font-size:.74rem; }

/* списки-строки (карточка клиента, неоплаченные, сделки клиента) */
.row-list { list-style:none; display:flex; flex-direction:column; gap:8px; }
.row-list li { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:11px 13px;
  background:var(--bg-soft); border:1px solid var(--border); border-radius:var(--radius-sm); cursor:pointer; transition:all .15s; }
.row-list li:hover { border-color:var(--border-bright); background:var(--bg-card-hover); }
.row-list b { font-size:.88rem; display:block; } .row-list span { font-size:.74rem; color:var(--text-muted); }

/* Клиенты */
.client-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:16px; }
.client-card { background:var(--bg-card); border:1px solid var(--border); border-radius:var(--radius); padding:18px;
  box-shadow:var(--shadow-sm); cursor:pointer; transition:transform .22s var(--ease-out), box-shadow .3s var(--ease), border-color .2s; }
.client-card:hover { transform:translateY(-3px); box-shadow:var(--shadow); border-color:var(--border-bright); }
.client-top { display:flex; align-items:center; gap:12px; margin-bottom:16px; }
.client-logo { width:42px; height:42px; border-radius:12px; flex-shrink:0; display:grid; place-items:center;
  font-weight:700; font-size:.9rem; color:#fff; background:var(--gradient); box-shadow:var(--shadow-brand); }
.client-id { min-width:0; flex:1; } .client-id b { display:block; font-size:1rem; }
.client-id span { font-size:.76rem; color:var(--text-muted); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; display:block; }
.client-open { font-size:.7rem; color:var(--accent-3); background:var(--accent-soft); border-radius:20px; padding:3px 9px; white-space:nowrap; }
.client-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; padding:12px 0; border-top:1px solid var(--border); border-bottom:1px solid var(--border); }
.client-stats span { display:block; font-size:.7rem; color:var(--text-muted); margin-bottom:3px; }
.client-stats b { font-size:.95rem; font-family:var(--font-mono); }
.client-foot { display:flex; justify-content:space-between; align-items:center; margin-top:14px; }
.cdots { display:flex; gap:5px; } .cdot { width:9px; height:9px; border-radius:50%; background:var(--c); }
.cdot.lg { width:12px; height:12px; box-shadow:0 0 8px var(--c); }

/* Задачи */
.task-group { margin-bottom:22px; }
.task-group-head { display:flex; align-items:center; gap:10px; font-weight:700; font-size:.95rem; margin-bottom:10px; }
.task-dot { width:10px; height:10px; border-radius:50%; }
.task-dot.hot { background:var(--red); } .task-dot.warm { background:#e8910c; }
.task-dot.neutral { background:var(--accent-1); } .task-dot.ok { background:var(--green); }
.task-list { list-style:none; display:flex; flex-direction:column; gap:9px; }
.task-row { display:flex; align-items:center; gap:14px; padding:13px 16px; background:var(--bg-card); border:1px solid var(--border);
  border-radius:var(--radius); box-shadow:var(--shadow-sm); cursor:pointer; transition:transform .18s var(--ease-out), box-shadow .25s, border-color .2s; }
.task-row:hover { transform:translateY(-2px); box-shadow:var(--shadow); border-color:var(--border-bright); }
.task-main { flex:1; min-width:0; } .task-main b { font-size:.9rem; display:block; }
.task-sub { font-size:.74rem; color:var(--text-muted); }
.task-row .num { font-family:var(--font-mono); color:var(--accent-3); font-weight:600; }
.task-done { width:34px; height:34px; flex-shrink:0; border-radius:10px; border:1px solid var(--border-bright);
  background:var(--accent-soft); color:var(--accent-3); font-weight:800; cursor:pointer; transition:all .15s; }
.task-done:hover { background:var(--gradient); color:#fff; box-shadow:var(--shadow-brand); }

/* Команда */
.team-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(290px,1fr)); gap:16px; }
.team-card { background:var(--bg-card); border:1px solid var(--border); border-radius:var(--radius); padding:18px; box-shadow:var(--shadow-sm); }
.team-card:hover { box-shadow:var(--shadow); }
.team-top { display:flex; align-items:center; gap:12px; margin-bottom:16px; }
.team-id { flex:1; min-width:0; } .team-id b { display:block; font-size:1rem; }
.team-id span { font-size:.76rem; color:var(--text-muted); }
.team-kpis { display:grid; grid-template-columns:repeat(2,1fr); gap:10px; }
.team-kpis > div { background:var(--bg-soft); border:1px solid var(--border); border-radius:var(--radius-sm); padding:10px 12px; }
.team-kpis span { display:block; font-size:.7rem; color:var(--text-muted); margin-bottom:3px; }
.team-kpis b { font-size:1.05rem; font-family:var(--font-mono); }

/* Настройки */
.stage-list { list-style:none; display:flex; flex-direction:column; gap:8px; margin-bottom:14px; }
.stage-list li { display:flex; align-items:center; gap:12px; padding:11px 13px; background:var(--bg-soft);
  border:1px solid var(--border); border-radius:var(--radius-sm); }
.stage-list b { font-size:.9rem; } .stage-list .muted { font-family:var(--font-mono); font-size:.8rem; }
.stage-actions { margin-left:auto; display:flex; gap:6px; }
.stage-actions .icon-btn { margin-left:0; }
.dict-cols { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.dict-cols h4 { font-size:.82rem; color:var(--text-soft); margin-bottom:10px; font-weight:600; }
.chips { display:flex; flex-wrap:wrap; gap:7px; }
.set-row { display:grid; grid-template-columns:1fr 1fr; gap:24px; align-items:start; }
.set-row .lang-select select { width:auto; min-width:120px; }
.set-actions { display:flex; gap:12px; flex-wrap:wrap; }

/* ============================================================
   Этап 1: Drawer, Timeline, AI Assistant, Inbox, Automation, Reports
   ============================================================ */

/* ── Deal Drawer (выезжает справа) ── */
.drawer-overlay { align-items:stretch !important; justify-items:end !important; padding:0 !important; }
.drawer { position:relative; width:100%; max-width:760px; height:100vh; max-height:100vh;
  background:var(--bg-card); border-left:1px solid var(--border); box-shadow:var(--shadow-lg);
  display:flex; flex-direction:column; animation:drawer-in .28s var(--ease-out); overflow:hidden;
  border-radius:0; }
.drawer.deal-drawer { padding:0; }
@keyframes drawer-in { from { transform:translateX(40px); opacity:0; } to { transform:translateX(0); opacity:1; } }
html[dir="rtl"] .drawer-overlay { justify-items:start !important; }
html[dir="rtl"] .drawer { border-left:none; border-right:1px solid var(--border); }
@keyframes drawer-in-rtl { from { transform:translateX(-40px); opacity:0; } to { transform:translateX(0); opacity:1; } }
html[dir="rtl"] .drawer { animation-name:drawer-in-rtl; }

.drawer-header { position:relative; padding:22px 28px 16px; border-bottom:1px solid var(--border);
  background:linear-gradient(180deg, var(--bg-card), var(--bg-soft)); }
.drawer .modal-close { position:absolute; top:18px; right:22px; }
html[dir="rtl"] .drawer .modal-close { right:auto; left:22px; }
.drawer-header .modal-title { display:flex; align-items:flex-start; justify-content:space-between; gap:18px;
  margin-bottom:14px; padding-right:32px; flex-wrap:wrap; }

.btn-wa { display:inline-flex; align-items:center; gap:7px; padding:8px 14px; border-radius:11px;
  background:#25d366; color:#fff; font-weight:700; font-size:.86rem; text-decoration:none;
  box-shadow:0 4px 14px rgba(37, 211, 102, .35); transition:transform .15s, box-shadow .25s; }
.btn-wa:hover { transform:translateY(-1px); box-shadow:0 8px 22px rgba(37, 211, 102, .50); }
.btn-wa svg { width:16px; height:16px; }
.btn-wa.disabled { background:var(--track); color:var(--text-muted); cursor:not-allowed; box-shadow:none; pointer-events:none; }

.drawer-tabs { display:flex; gap:2px; padding:0 22px; background:var(--bg-card);
  border-bottom:1px solid var(--border); overflow-x:auto; flex-shrink:0; }
.drawer-tab { background:transparent; border:none; padding:14px 16px; font:inherit; font-weight:600; font-size:.88rem;
  color:var(--text-muted); cursor:pointer; border-bottom:2px solid transparent; transition:color .18s, border-color .18s; white-space:nowrap; }
.drawer-tab:hover { color:var(--text); }
.drawer-tab.active { color:var(--accent-3); border-bottom-color:var(--accent-1); }

.drawer-body { flex:1; overflow-y:auto; padding:22px 28px 28px; }
.drawer-section { display:none; }
.drawer-section.active { display:block; }

/* ── Timeline (Activity tab) ── */
.timeline-toolbar { display:flex; gap:8px; margin-bottom:14px; flex-wrap:wrap; }
.timeline { list-style:none; position:relative; padding:6px 0 0; }
.timeline::before { content:''; position:absolute; left:14px; top:6px; bottom:6px; width:2px;
  background:linear-gradient(180deg, var(--accent-1), transparent); opacity:.4; }
html[dir="rtl"] .timeline::before { left:auto; right:14px; }
.timeline-item { position:relative; display:flex; gap:14px; padding:10px 0 14px 0; }
.timeline-dot { width:30px; height:30px; flex-shrink:0; display:grid; place-items:center; border-radius:50%;
  background:var(--bg-card); border:2px solid var(--accent-1); color:var(--accent-3); font-size:.85rem; box-shadow:var(--shadow-sm); position:relative; z-index:1; }
.timeline-body { flex:1; min-width:0; }
.timeline-meta { font-size:.74rem; color:var(--text-muted); margin-bottom:3px; }
.timeline-meta b { color:var(--text); }
.timeline-text { font-size:.88rem; color:var(--text-soft); }

/* ── Drawer: Tasks tab ── */
.drawer-tasks { display:flex; flex-direction:column; gap:18px; }
.task-summary { padding:18px; border-radius:var(--radius); border:1px solid var(--border); background:var(--bg-soft); }
.task-summary-overdue { background:linear-gradient(180deg, oklch(62% 0.20 25 / 0.08), transparent), var(--bg-card); border-color:rgba(239,68,68,.30); }
.task-summary-today { background:linear-gradient(180deg, oklch(80% 0.15 70 / 0.12), transparent), var(--bg-card); border-color:rgba(232,145,12,.35); }
.task-summary-future { background:linear-gradient(180deg, oklch(62% 0.19 285 / 0.08), transparent), var(--bg-card); }
.task-summary-none { background:var(--bg-soft); }
.task-summary-lbl { font-size:.74rem; text-transform:uppercase; letter-spacing:.06em; font-weight:700; color:var(--text-muted); display:block; margin-bottom:6px; }
.task-summary b { font-size:1.05rem; display:block; }
.task-summary-overdue b { color:var(--red); } .task-summary-today b { color:#c2740a; }
.task-objection { font-size:.82rem; color:var(--text-muted); margin-top:10px; }
.task-actions-row { display:flex; gap:8px; flex-wrap:wrap; }

/* ── Drawer: Finance tab ── */
.finance-tab .kpi-grid { grid-template-columns:repeat(2, 1fr); }
.ai-hint { padding:12px 14px; border-radius:12px; font-size:.86rem; margin-bottom:16px;
  background:var(--bg-soft); border:1px solid var(--border); }
.ai-hint.hot { background:oklch(62% 0.20 25 / 0.10); color:#9a1d1d; border-color:rgba(239,68,68,.35); }
.ai-hint.warm { background:oklch(80% 0.15 70 / 0.18); color:#92510a; border-color:rgba(232,145,12,.35); }

/* ── Сегментные табы (Tasks, Reports) ── */
.seg-tabs { display:flex; gap:4px; background:var(--bg-card); border:1px solid var(--border); border-radius:14px;
  padding:5px; margin-bottom:18px; box-shadow:var(--shadow-sm); flex-wrap:wrap; }
.seg-tab { background:transparent; border:none; font:inherit; font-weight:600; font-size:.88rem; color:var(--text-muted);
  padding:8px 14px; border-radius:10px; cursor:pointer; transition:all .15s; display:inline-flex; align-items:center; gap:8px; }
.seg-tab:hover { color:var(--text); background:var(--bg-soft); }
.seg-tab.active { background:var(--gradient); color:#fff; box-shadow:var(--shadow-brand); }
.seg-badge { font-family:var(--font-mono); font-size:.7rem; background:rgba(255,255,255,.18); color:inherit; border-radius:20px; padding:1px 8px; }
.seg-tab:not(.active) .seg-badge { background:var(--track); color:var(--text-muted); }
.seg-tab .seg-badge.hot { background:rgba(239,68,68,.18); color:#b91c1c; }
.report-tabs { overflow-x:auto; flex-wrap:nowrap; }
.report-tabs .seg-tab { flex-shrink:0; }
.chart-box-md { height:320px; position:relative; }
.report-kpi { grid-template-columns:repeat(3, minmax(0,1fr)); margin-bottom:16px; }

/* Sub-навигация отчётов (слева) */
.reports-layout { display:grid; grid-template-columns:240px minmax(0, 1fr); gap:16px; align-items:start; }
.reports-nav { position:sticky; top:88px; background:var(--bg-card); border:1px solid var(--border); border-radius:var(--radius);
  box-shadow:var(--shadow-sm); padding:8px; display:flex; flex-direction:column; gap:2px; }
.report-nav-item { background:transparent; border:none; font:inherit; font-weight:600; font-size:.88rem; color:var(--text-soft);
  display:flex; align-items:center; gap:10px; padding:10px 12px; border-radius:10px; cursor:pointer; text-align:left;
  transition:all .18s var(--ease); }
html[dir="rtl"] .report-nav-item { text-align:right; }
.report-nav-item:hover { background:var(--bg-soft); color:var(--text); }
.report-nav-item.active { background:var(--accent-soft); color:var(--accent-3); box-shadow:inset 0 0 0 1px var(--border-bright); }
.report-nav-item .nav-ic { width:18px; height:18px; flex-shrink:0; opacity:.85; }
.report-nav-item.active .nav-ic { color:var(--accent-1); opacity:1; }
.report-body { min-width:0; }

/* Причины потерь — карточки и блок советов */
.lost-layout { display:grid; grid-template-columns:minmax(0, 1.1fr) minmax(0, .9fr); gap:14px; align-items:start; }
.lost-grid { display:flex; flex-direction:column; gap:12px; margin-top:4px; }
.lost-card { padding:16px 18px; background:linear-gradient(180deg, oklch(62% 0.20 25 / 0.05), var(--bg-card) 60%);
  border:1px solid oklch(62% 0.20 25 / 0.18); border-radius:14px; }
.lost-card-head { display:flex; align-items:center; gap:12px; margin-bottom:12px; }
.lost-card-icon { width:36px; height:36px; flex-shrink:0; display:grid; place-items:center; border-radius:10px;
  background:oklch(62% 0.20 25 / 0.12); font-size:1.05rem; }
.lost-card-title { flex:1; min-width:0; }
.lost-card-title b { display:block; font-size:.95rem; }
.lost-card-title span { font-size:.74rem; color:var(--text-muted); }
.lost-card-amount { font-family:var(--font-mono); font-weight:700; font-size:1rem; color:#b91c1c; flex-shrink:0; }
.lost-card-bar { height:8px; background:oklch(62% 0.20 25 / 0.10); border-radius:5px; overflow:hidden; margin-bottom:8px; }
.lost-card-bar span { display:block; height:100%; background:linear-gradient(90deg, #ef4444, #f97316); border-radius:5px;
  transition:width .5s var(--ease); }
.lost-card-foot { font-size:.74rem; }

.lost-tips { background:linear-gradient(180deg, oklch(99.5% 0.004 285), oklch(97% 0.018 285) 50%); }
.lost-tips h3 { font-size:1rem; }
.lost-tips-list { list-style:none; display:flex; flex-direction:column; gap:14px; margin-bottom:14px; }
.lost-tips-list li { display:flex; gap:12px; padding:12px 14px; background:var(--bg-card); border:1px solid var(--border);
  border-radius:12px; box-shadow:var(--shadow-sm); }
.lost-tip-icon { font-size:1.2rem; flex-shrink:0; line-height:1.1; }
.lost-tips-list b { display:block; font-size:.88rem; margin-bottom:5px; }
.lost-tips-list p { margin:0; font-size:.82rem; color:var(--text-soft); line-height:1.5; }
.lost-tips-foot { padding:12px 14px; background:var(--accent-soft); border-radius:10px; font-size:.78rem; line-height:1.5; }
.lost-tips-foot .muted { color:var(--accent-3); }

/* Рейтинг с мини-барами */
.rank-rich td.rank-name { gap:10px; }
.rank-bar { display:inline-block; width:96px; height:6px; background:var(--track); border-radius:4px;
  overflow:hidden; margin-right:8px; vertical-align:middle; }
.rank-bar span { display:block; height:100%; background:var(--gradient); border-radius:4px; }
html[dir="rtl"] .rank-bar { margin-right:0; margin-left:8px; }
.rank-rich td { vertical-align:middle; }

/* Оплаты: layout пончик + легенда */
.payments-layout { display:grid; grid-template-columns:minmax(0, 1fr) minmax(0, 1.2fr); gap:14px; }
.payments-legend { list-style:none; display:flex; flex-direction:column; gap:18px; margin-top:6px; }
.payments-legend li { display:grid; grid-template-columns:14px 1fr auto auto; gap:10px; align-items:center; row-gap:6px; }
.pl-dot { width:11px; height:11px; border-radius:50%; box-shadow:0 0 0 2px var(--bg-card); }
.pl-lbl { font-weight:600; font-size:.92rem; }
.pl-amt { font-family:var(--font-mono); font-weight:600; font-size:.95rem; color:var(--accent-3); }
.pl-pct { font-family:var(--font-mono); font-size:.78rem; color:var(--text-muted); width:42px; text-align:right; }
.pl-bar { grid-column:1 / -1; height:6px; background:var(--track); border-radius:4px; overflow:hidden; }
.pl-bar span { display:block; height:100%; border-radius:4px; transition:width .4s var(--ease); }

/* Forecast vs факт */
.forecast-row { display:flex; flex-direction:column; gap:18px; padding:6px 0; }
.forecast-bar { display:flex; flex-direction:column; gap:8px; }
.forecast-bar-lbl { display:flex; justify-content:space-between; align-items:baseline; font-size:.86rem; color:var(--text-soft); }
.forecast-bar-lbl b { font-family:var(--font-mono); font-size:1.05rem; color:var(--text); font-weight:700; }
.forecast-track { height:14px; background:var(--track); border-radius:8px; overflow:hidden; }
.forecast-fill { display:block; height:100%; border-radius:8px; transition:width .5s var(--ease); }
.forecast-fill-plan { background:linear-gradient(90deg, var(--track), oklch(80% 0.06 285 / 0.55)); }
.forecast-fill-fact { background:var(--gradient); }
.forecast-diff { display:flex; align-items:baseline; gap:14px; padding:14px 18px; border-radius:12px;
  background:var(--bg-soft); border:1px solid var(--border); }
.forecast-diff span { font-family:var(--font-mono); font-weight:700; font-size:1.4rem; }
.forecast-diff.pos span { color:var(--green); } .forecast-diff.neg span { color:var(--red); }
.forecast-diff small { color:var(--text-muted); font-size:.82rem; }

/* ── Расширенный task-row ── */
.task-action-group { display:flex; align-items:center; gap:6px; }
.task-snooze { width:30px; height:30px; flex-shrink:0; border-radius:8px; border:1px solid var(--border);
  background:var(--bg-soft); color:var(--text-muted); font:inherit; font-size:.72rem; font-weight:700; cursor:pointer; transition:all .15s; }
.task-snooze:hover { color:var(--accent-3); border-color:var(--border-bright); background:var(--accent-soft); }

/* ── AI Sales Assistant ── */
.ai-assistant { background:linear-gradient(135deg, oklch(99.5% 0.004 285), oklch(98% 0.014 288));
  border:1px solid var(--border); border-radius:var(--radius-lg); padding:18px 20px; margin-bottom:18px;
  box-shadow:var(--shadow-sm); position:relative; overflow:hidden; }
.ai-assistant::before { content:''; position:absolute; inset:0 0 auto 0; height:3px; background:var(--gradient); }
.ai-head { display:flex; align-items:flex-start; gap:14px; margin-bottom:14px; }
.ai-spark { width:36px; height:36px; flex-shrink:0; border-radius:11px; background:var(--gradient); color:#fff;
  display:grid; place-items:center; font-size:1.1rem; font-weight:800; box-shadow:var(--shadow-brand); }
.ai-head h3 { margin:0; font-size:1rem; }
.ai-head p { margin:2px 0 0; font-size:.78rem; color:var(--text-muted); }
.ai-cards { display:grid; grid-template-columns:repeat(auto-fit, minmax(220px, 1fr)); gap:10px; }
.ai-card { background:var(--bg-card); border:1px solid var(--border); border-radius:12px; padding:12px 13px; }
.ai-card.hot  { border-color:rgba(239,68,68,.30); background:linear-gradient(180deg, oklch(62% 0.20 25 / 0.06), var(--bg-card) 60%); }
.ai-card.warm { border-color:rgba(232,145,12,.35); background:linear-gradient(180deg, oklch(80% 0.15 70 / 0.10), var(--bg-card) 60%); }
.ai-card.neutral { border-color:var(--border-bright); background:linear-gradient(180deg, oklch(62% 0.19 285 / 0.06), var(--bg-card) 60%); }
.ai-card-head { display:flex; align-items:center; gap:8px; margin-bottom:8px; font-size:.82rem; }
.ai-card-head b { flex:1; }
.ai-card-ic { width:22px; height:22px; border-radius:7px; display:grid; place-items:center; background:var(--bg-soft); color:var(--text-soft); font-weight:800; font-size:.75rem; }
.ai-card.hot .ai-card-ic { background:rgba(239,68,68,.15); color:#b91c1c; }
.ai-card.warm .ai-card-ic { background:rgba(232,145,12,.20); color:#92510a; }
.ai-card.neutral .ai-card-ic { background:var(--accent-soft); color:var(--accent-3); }
.ai-card-count { font-family:var(--font-mono); font-size:.7rem; background:var(--track); color:var(--text-muted); border-radius:20px; padding:1px 7px; }
.ai-card ul { list-style:none; display:flex; flex-direction:column; gap:5px; }
.ai-card li { display:flex; justify-content:space-between; align-items:center; padding:5px 8px; border-radius:7px; cursor:pointer; transition:background .15s; }
.ai-card li:hover { background:var(--bg-soft); }
.ai-card li b { font-size:.82rem; max-width:140px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ai-card li span { font-family:var(--font-mono); font-size:.76rem; color:var(--text-soft); }

/* ── Inbox ── */
.inbox-layout { display:grid; grid-template-columns:200px minmax(280px, 360px) 1fr; gap:12px; height:calc(100vh - 200px); min-height:520px; }
.inbox-channels { background:var(--bg-card); border:1px solid var(--border); border-radius:var(--radius); padding:8px; box-shadow:var(--shadow-sm);
  display:flex; flex-direction:column; gap:2px; }
.inbox-channel { background:transparent; border:none; font:inherit; font-weight:600; font-size:.88rem; color:var(--text-soft);
  padding:9px 12px; border-radius:9px; cursor:pointer; display:flex; justify-content:space-between; align-items:center;
  transition:all .15s; }
.inbox-channel:hover { background:var(--bg-soft); color:var(--text); }
.inbox-channel.active { background:var(--accent-soft); color:var(--accent-3); }
.inbox-channel-count { font-family:var(--font-mono); font-size:.72rem; color:var(--text-muted); }
.inbox-channel.active .inbox-channel-count { color:var(--accent-3); }
.inbox-list { background:var(--bg-card); border:1px solid var(--border); border-radius:var(--radius); box-shadow:var(--shadow-sm); overflow-y:auto; padding:6px; display:flex; flex-direction:column; gap:2px; }
.inbox-thread { background:transparent; border:none; font:inherit; text-align:left; cursor:pointer; padding:10px 11px;
  border-radius:10px; display:flex; gap:10px; align-items:flex-start; transition:background .15s; }
html[dir="rtl"] .inbox-thread { text-align:right; }
.inbox-thread:hover { background:var(--bg-soft); }
.inbox-thread.active { background:var(--accent-soft); }
.inbox-thread.unread::after { content:''; position:absolute; width:7px; height:7px; border-radius:50%; background:var(--red); }
.inbox-thread.unread { position:relative; }
.inbox-thread.unread::after { top:14px; right:14px; }
.inbox-ch-icon { width:30px; height:30px; flex-shrink:0; border-radius:9px; background:var(--bg-soft); display:grid; place-items:center; font-size:.95rem; }
.inbox-thread-main { flex:1; min-width:0; }
.inbox-thread-top { display:flex; justify-content:space-between; align-items:center; gap:8px; font-size:.86rem; margin-bottom:3px; }
.inbox-thread-top b { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.inbox-thread-top span { font-size:.7rem; color:var(--text-muted); flex-shrink:0; font-family:var(--font-mono); }
.inbox-thread-preview { font-size:.76rem; color:var(--text-muted); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; display:block; }
.inbox-thread.unread .inbox-thread-top b { font-weight:800; }
.inbox-thread.unread .inbox-thread-preview { color:var(--text-soft); }
.inbox-thread-view { background:var(--bg-card); border:1px solid var(--border); border-radius:var(--radius); box-shadow:var(--shadow-sm); padding:22px; overflow-y:auto; }
.inbox-thread-head { display:flex; justify-content:space-between; align-items:flex-start; gap:14px; margin-bottom:14px; flex-wrap:wrap; }
.inbox-thread-head h3 { margin:0 0 4px; font-size:1.05rem; }
.inbox-thread-actions { display:flex; gap:8px; flex-wrap:wrap; }
.inbox-thread-meta { display:flex; gap:7px; flex-wrap:wrap; margin-bottom:18px; }
.inbox-messages { list-style:none; display:flex; flex-direction:column; gap:14px; }
.inbox-messages li { display:flex; gap:12px; padding:11px 13px; background:var(--bg-soft); border-radius:10px; }
.inbox-messages li > span { font-size:1.15rem; flex-shrink:0; }
.inbox-messages li b { font-size:.82rem; } .inbox-messages li i { font-size:.72rem; color:var(--text-muted); font-style:normal; }
.inbox-messages li p { margin:5px 0 0; font-size:.86rem; color:var(--text-soft); }

/* ── Automation ── */
.auto-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(340px, 1fr)); gap:14px; }
.auto-card { background:var(--bg-card); border:1px solid var(--border); border-radius:var(--radius); padding:18px; box-shadow:var(--shadow-sm); transition:all .2s; }
.auto-card.off { opacity:.55; }
.auto-card header { display:flex; justify-content:space-between; gap:14px; margin-bottom:14px; align-items:flex-start; }
.auto-card h3 { margin:0; font-size:.96rem; }
.auto-card header p { margin:4px 0 0; font-size:.78rem; color:var(--text-muted); }
.auto-stat { display:flex; justify-content:space-between; align-items:baseline; padding:10px 12px;
  background:var(--bg-soft); border-radius:10px; margin-bottom:10px; }
.auto-stat span { font-size:.72rem; color:var(--text-muted); }
.auto-stat b { font-size:1.4rem; font-family:var(--font-mono); }
.auto-matches { list-style:none; display:flex; flex-direction:column; gap:6px; }
.auto-matches li { display:flex; justify-content:space-between; align-items:center; padding:8px 10px; background:var(--bg-soft);
  border-radius:8px; cursor:pointer; transition:background .15s; }
.auto-matches li:hover { background:var(--accent-soft); }
.auto-matches li b { font-size:.82rem; max-width:60%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.auto-matches li span { font-size:.74rem; color:var(--text-muted); }
/* Switch */
.switch { position:relative; width:42px; height:24px; flex-shrink:0; }
.switch input { position:absolute; inset:0; opacity:0; cursor:pointer; }
.switch span { position:absolute; inset:0; background:var(--track); border-radius:13px; transition:background .2s; }
.switch span::after { content:''; position:absolute; left:3px; top:3px; width:18px; height:18px; border-radius:50%;
  background:#fff; box-shadow:0 1px 3px rgba(0,0,0,.2); transition:transform .2s var(--ease); }
.switch input:checked + span { background:var(--accent-1); }
.switch input:checked + span::after { transform:translateX(18px); }

/* ── Клиенты: WhatsApp в подвале ── */
.client-foot-right { display:flex; align-items:center; gap:8px; }
.client-wa { display:inline-grid; place-items:center; width:30px; height:30px; border-radius:9px; background:#25d366;
  color:#fff; text-decoration:none; font-size:1rem; box-shadow:0 3px 10px rgba(37,211,102,.35); transition:transform .15s; }
.client-wa:hover { transform:scale(1.08); }

/* ── Адаптив ── */
@media (max-width:1100px) {
  .inbox-layout { grid-template-columns:170px 1fr; }
  .inbox-thread-view { grid-column:1 / -1; }
}
@media (max-width:1000px) {
  .kpi-grid { grid-template-columns:repeat(2,1fr); } .sales-brief { grid-template-columns:repeat(2,1fr); } .dash-cols { grid-template-columns:1fr; }
  .risk-cols { grid-template-columns:1fr; }
  .board { grid-template-columns:repeat(5,260px); }
  .deal-summary { grid-template-columns:repeat(2,1fr); }
  .deal-summary-strip { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .row-3 { grid-template-columns:1fr 1fr; }
  .home-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .home-grid { grid-template-columns:1fr; }
  .dict-cols { grid-template-columns:1fr; } .set-row { grid-template-columns:1fr; }
  .ai-cards { grid-template-columns:1fr 1fr; }
  .drawer { max-width:100%; }
  .inbox-layout { grid-template-columns:1fr; height:auto; }
  .payments-layout { grid-template-columns:1fr; }
  .report-kpi { grid-template-columns:repeat(2,1fr); }
  .lost-layout { grid-template-columns:1fr; }
  .reports-layout { grid-template-columns:1fr; }
  .reports-nav { position:static; flex-direction:row; overflow-x:auto; }
  .report-nav-item { flex-shrink:0; white-space:nowrap; }
}
/* Sidebar → горизонтальная панель на узких экранах */
@media (max-width:900px) {
  .layout { flex-direction:column; }
  .sidebar { width:auto; height:auto; position:sticky; top:0; flex-direction:row; align-items:center; gap:8px;
    padding:10px 14px; border-right:none; border-bottom:1px solid var(--border); overflow-x:auto; }
  .side-brand { padding:0 6px 0 2px; font-size:1.1rem; white-space:nowrap; }
  .side-nav { flex-direction:row; flex:1; gap:4px; }
  .nav-item { padding:8px 10px; } .nav-item span { display:none; }
  .side-foot { border-top:none; padding-top:0; flex-direction:row; align-items:center; gap:8px; }
  .side-foot .side-lang { display:none; }
  .side-user .user-meta { display:none; }
}
@media (max-width:640px) {
  main { padding:18px; } .topbar { padding:0 16px; gap:14px; } .user-meta { display:none; }
  .overlay { padding:10px; align-items:end; }
  .modal { max-height:94vh; padding:20px; }
  .deal-modal { padding:18px; border-radius:22px; }
  .deal-modal-title { flex-direction:column; padding-right:40px; }
  .deal-summary-strip { grid-template-columns:1fr; }
  .deal-form-section { padding:16px; border-radius:18px; }
  .row { grid-template-columns:1fr; } .kpi-grid { grid-template-columns:1fr; } .sales-brief { grid-template-columns:1fr; }
  .deal-summary { grid-template-columns:1fr; }
  .row-3 { grid-template-columns:1fr; }
  .label-inline { grid-template-columns:1fr; }
  .deal-sticky-footer { position:sticky; bottom:-18px; flex-direction:column; align-items:stretch; margin:4px -18px -18px; padding:14px 18px; }
  .footer-actions { justify-content:stretch; }
  .footer-actions .btn { flex:1 1 100%; }
  .home-hero { flex-direction:column; align-items:flex-start; }
  .home-actions, .home-actions .btn { width:100%; }
  .home-metrics { grid-template-columns:1fr; }
  .home-panel-head { flex-direction:column; }
  .home-deal-row { grid-template-columns:1fr; }
  .act-form { grid-template-columns:1fr; }
}
