/* ══ v5: функции прода 10–15.09 ══ */
/* кнопки связи */
.mc-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.mc-actions.mc-compact{margin-top:6px;gap:6px}
.mc-btn{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:7px 14px;border-radius:999px;border:1px solid var(--line);background:var(--card-2);color:var(--ink-2);font:inherit;font-size:13px;font-weight:700;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:transform .1s ease}
.mc-compact .mc-btn{min-height:32px;padding:5px 11px;font-size:12px}
.mc-btn:active{transform:scale(.97)}
.mc-btn.mc-primary{border-color:transparent;background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff;box-shadow:0 0 14px color-mix(in srgb,var(--accent) 35%,transparent)}
.mc-btn .mc-ico{font-size:.95em;line-height:1}
.mc-btn.is-loading{opacity:.6;pointer-events:none}
.mc-btn.is-loading .mc-ico{animation:mc-pulse .9s ease-in-out infinite}
@keyframes mc-pulse{50%{opacity:.3}}
.ownercard .mc-btn{position:relative;z-index:2}

/* контакты клиента в админке */
.mc-contacts{display:grid;gap:10px;margin:12px 0 14px}
@media (min-width:560px){.mc-contacts{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}}
.mc-contact{position:relative;padding:12px 14px 12px 16px;border-radius:18px;border:1px solid var(--line);background:linear-gradient(160deg,color-mix(in srgb,var(--accent) 8%,var(--card)),var(--card));overflow:hidden;box-shadow:var(--sh)}
.mc-contact::before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:linear-gradient(180deg,var(--accent),var(--accent-2))}
.mc-contact.mc-tg::before{background:linear-gradient(180deg,#38bdf8,#0ea5e9)}
.mc-contact-head{display:flex;align-items:center;gap:10px;min-width:0}
.mc-platform{flex:none;padding:3px 8px;border-radius:8px;font-size:10.5px;font-weight:700;letter-spacing:.06em;color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent-2))}
.mc-tg .mc-platform{background:linear-gradient(135deg,#0ea5e9,#38bdf8)}
.mc-contact-title{min-width:0;flex:1;display:flex;flex-direction:column}
.mc-contact-title b{color:var(--ink);font-size:14.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mc-contact-title small{color:var(--muted);font-size:12px}
.mc-copy{flex:none;padding:5px 9px;border-radius:10px;border:1px solid var(--line);background:var(--card-2);color:var(--ink-2);font:600 12px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;cursor:pointer}
.mc-contact-extra{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}

/* строка участника: иконки, ЧС, мут со сроками, поиск */
.row.memrow{align-items:flex-start;cursor:pointer}
.mc-member-actions{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px}
.mc-icon-btn{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:34px;padding:0 8px;border-radius:11px;border:1px solid var(--line);background:var(--card-2);color:var(--ink-2);font:inherit;font-size:14px;font-weight:700;line-height:1;cursor:pointer;touch-action:manipulation}
.mc-icon-btn:active{transform:scale(.95)}
.mc-icon-btn.danger{border-color:color-mix(in srgb,var(--red) 45%,var(--line));color:var(--red)}
.mc-icon-btn.wide{padding:0 12px;font-size:12.5px}
.mc-icon-btn.is-loading{opacity:.55;pointer-events:none}
.mc-mute-btn.is-active{border-color:transparent;background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff}
.mc-mute-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.mc-mute-chips[hidden]{display:none}
.mc-mute-chips .chip{min-height:32px;padding:5px 11px;font-size:12.5px}
.mc-mute-chips .chip.is-loading{opacity:.55;pointer-events:none}
.mc-member-search{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:12px 0 10px}
.mc-member-search .bind-input{flex:1 1 180px;min-width:0;height:40px;border-radius:13px;border:1px solid var(--line);background:var(--card);color:var(--ink);padding:0 12px;font:inherit;font-size:14px}

/* окно «Активировать слоты» */
.slotact{display:flex;flex-direction:column;gap:12px}
.sa-head{display:flex;gap:12px;align-items:center}
.sa-head .t{font-weight:700;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.sa-opt{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:13px 14px;border-radius:18px;border:1px solid var(--line);background:var(--card-2);color:var(--ink);font:inherit;cursor:pointer}
.sa-opt:not(:disabled):active{transform:scale(.98)}
.sa-opt.on{border-color:color-mix(in srgb,var(--accent) 60%,var(--line));background:color-mix(in srgb,var(--accent) 12%,var(--card))}
.sa-opt:disabled:not(.on){opacity:.55;cursor:not-allowed}
.sa-opt.on:disabled{opacity:1;color:var(--ink);cursor:default}
.sa-opt.on:disabled .sa-tx small{color:var(--muted)}
.sa-ic{font-size:24px;flex:0 0 auto}
.sa-tx{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.sa-tx b{font-size:15px}
.sa-tx small{font-size:12.5px;color:var(--muted)}
.sa-price{flex:0 0 auto;font-size:12px;font-weight:700;padding:4px 9px;border-radius:999px;background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff;white-space:nowrap}
.sa-opt.on .sa-price{background:var(--green-soft);color:var(--green)}
.sa-price.lack{background:var(--amber-soft);color:var(--amber)}
.sa-wallet{margin:0;font-size:13.5px;color:var(--ink-2)}
.sa-wallet b{color:var(--ink);font-size:16px}

/* закрытые в MAX и без слота */
.slotpill.closed{background:var(--violet-soft)!important;color:var(--violet)!important}
.row.closedrow .body{opacity:.7}
.row.noslotrow .body{opacity:.82}
.chatrow .body .actbtn{white-space:nowrap;margin-top:7px;display:inline-flex;align-items:center;gap:6px;width:auto}
.row.noslotrow .body{opacity:1}
.hero .activatebar{margin-top:10px;display:flex;align-items:center;justify-content:center;gap:8px}
.aireason{display:flex;flex-direction:column;gap:8px;align-items:flex-start;padding:10px 0 2px;margin-top:10px;border-top:1px dashed var(--line)}
.aireason .hint{margin:0}

/* ИИ в редакторе */
.aistatus{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px;border-radius:12px;background:var(--accent-soft);color:var(--ink);font-size:12.5px;font-weight:600}
.aistatus[hidden]{display:none}
.aistatus .chip{min-height:30px;padding:4px 10px;font-size:12px}

/* уведомления в ЛС */
.nt-card{display:flex;flex-direction:column;gap:10px}
.nt-when{display:flex;gap:7px;align-items:flex-start;font-size:13px;color:var(--ink-2);line-height:1.35}
.nt-when svg{flex:0 0 auto;margin-top:1px;color:var(--accent)}
.nt-bubble{border-radius:18px 18px 18px 6px;background:var(--card-2);border:1px solid var(--line);padding:10px 12px;display:flex;flex-direction:column;gap:8px;max-width:520px}
.nt-from{display:flex;align-items:center;gap:8px}
.nt-from .ava,.nt-from .ava .img{width:30px;height:30px}
.nt-from .ava .img{border-radius:10px;overflow:hidden;background:#070B26}
.nt-from .ava .img img{width:100%;height:100%;object-fit:cover;display:block}
.nt-from b{font-size:13.5px;display:block}
.nt-from small{font-size:11px;color:var(--muted)}
.nt-body{font-size:14px;line-height:1.42;color:var(--ink);overflow-wrap:anywhere}
.nt-gap{height:6px}
.nt-card .chiprow{margin:0}

/* круглая кнопка действия: только «+», без подписи */
.fab{width:56px!important;min-width:56px!important;max-width:56px!important;height:56px!important;padding:0!important;border-radius:50%!important;justify-content:center}
.fab .v3-fab-label{display:none!important}


/* Плотнее по вертикали: на телефоне между блоками уходило слишком много места
   (сводка в «Чатах», шапка «Пользователей», плитки «Журнала» занимали пол-экрана). */
.view{gap:14px!important}
.group{gap:8px!important}
.bento{gap:8px}
.cap{min-height:22px}
.acts.two .btn.sm,.acts.three .btn.sm{min-height:40px;font-size:13.5px}

/* кнопка порядка списка рядом с «Ваши группы» */
.cap .sortchip{margin-left:auto;padding:4px 10px;min-height:30px;font-size:12.5px;letter-spacing:0;text-transform:none;font-weight:700}
.cap .sortchip svg{flex:0 0 auto}


/* ── Нижняя панель: «жидкое стекло» ───────────────────────────────────────────
   Панель не закрашена, а преломляет и размывает то, что под ней: фон уходит в
   backdrop-filter, поверх лежат блик сверху, тонкая светлая кромка и мягкая
   внутренняя тень снизу — так стекло читается как объём, а не как плёнка.
   Искажение (SVG-фильтр #modix-glass) включается только там, где оно работает. */
.tabbar{
  background:color-mix(in srgb, var(--card) 38%, transparent)!important;
  border:1px solid color-mix(in srgb, #fff 34%, transparent)!important;
  backdrop-filter:blur(20px) saturate(185%) brightness(1.06);
  -webkit-backdrop-filter:blur(20px) saturate(185%) brightness(1.06);
  box-shadow:
    0 18px 40px rgba(12, 6, 32, .28),
    0 2px 10px rgba(12, 6, 32, .14),
    inset 0 1px 0 rgba(255,255,255,.55),
    inset 0 -10px 18px -12px rgba(12, 6, 32, .35)!important;
  isolation:isolate;
  overflow:hidden;
}
@supports (backdrop-filter: url(#modix-glass)) {
  .tabbar{
    backdrop-filter:url(#modix-glass) blur(14px) saturate(190%) brightness(1.05);
    -webkit-backdrop-filter:url(#modix-glass) blur(14px) saturate(190%) brightness(1.05);
  }
}
/* блик по верхней кромке и мягкое свечение в углах */
.tabbar::after{
  content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:2;
  background:
    linear-gradient(180deg, rgba(255,255,255,.55) 0%, rgba(255,255,255,.06) 34%, rgba(255,255,255,0) 60%),
    radial-gradient(130% 70% at 12% 0%, rgba(255,255,255,.30), transparent 62%),
    radial-gradient(130% 70% at 88% 0%, rgba(255,255,255,.22), transparent 62%);
  opacity:.75;
}
/* активная вкладка — стеклянная капля, а не плашка */
.tabbar .thumb{
  border-radius:16px!important;
  background:linear-gradient(160deg,
      color-mix(in srgb, var(--accent) 82%, transparent),
      color-mix(in srgb, var(--accent-2) 78%, transparent))!important;
  box-shadow:
    0 6px 16px color-mix(in srgb, var(--accent) 42%, transparent),
    inset 0 1px 0 rgba(255,255,255,.45),
    inset 0 -6px 12px -8px rgba(0,0,0,.35)!important;
}
.tabbar button{z-index:3}
.tabbar .badge{border-color:transparent}

/* в тёмной теме стекло темнее, кромка тусклее */
:root[data-theme="dark"] .tabbar,
:root:not([data-theme="light"]) .tabbar{
  background:color-mix(in srgb, var(--card) 30%, transparent)!important;
  border-color:color-mix(in srgb, #fff 16%, transparent)!important;
  box-shadow:
    0 20px 44px rgba(0,0,0,.55),
    0 2px 10px rgba(0,0,0,.35),
    inset 0 1px 0 rgba(255,255,255,.22),
    inset 0 -10px 20px -14px rgba(0,0,0,.6)!important;
}
:root[data-theme="dark"] .tabbar::after,
:root:not([data-theme="light"]) .tabbar::after{opacity:.5}

/* стекло не должно мешать тем, кто просил меньше движения и прозрачности */
@media (prefers-reduced-transparency: reduce){
  .tabbar{background:var(--card)!important;backdrop-filter:none;-webkit-backdrop-filter:none}
  .tabbar::after{display:none}
}


/* ── карточка события журнала: одна шторка вместо трёх экранов ─────────── */
.evsheet{display:flex;flex-direction:column;gap:10px}
.ev-head,.ev-who{display:flex;align-items:center;gap:10px;min-width:0}
.ev-head .tile{width:36px;height:36px;border-radius:11px;flex:0 0 auto}
.ev-hb{min-width:0;flex:1}
.ev-title{font-size:15.5px;font-weight:700;letter-spacing:-.015em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ev-meta{font-size:12.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:4px;min-width:0}
.ev-meta .chatmini{min-width:0}
.ev-who{background:var(--card-2);border-radius:14px;padding:8px 10px}
.ev-write{width:36px;height:36px;border-radius:11px;background:var(--accent-soft);color:var(--accent);flex:0 0 auto;display:grid;place-items:center;border:0}
.ev-facts{display:grid;grid-template-columns:auto 1fr;gap:6px 12px;font-size:13.5px;padding:10px 12px;background:var(--card-2);border-radius:14px}
.ev-facts .k{color:var(--muted)}
.ev-facts .v{font-weight:700;text-align:right;min-width:0;overflow:hidden;text-overflow:ellipsis}
.evsheet .quote{margin:0}
/* кнопки шторки — одна сетка, одна высота */
.sheet .sheet-btns,.sheet .btns{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.sheet .btns .btn,.sheet .sheet-btns .btn{min-height:44px!important;font-size:14px!important;border-radius:12px!important;padding:0 10px!important}
.sheet .btns .btn:only-child{grid-column:1/-1}

/* ── сводка в «Чатах» одной строкой ──────────────────────────────────────── */
.sumstrip{display:flex;align-items:center;gap:10px;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:8px 12px;box-shadow:var(--sh)}
.sumstrip .part{display:inline-flex;align-items:center;gap:7px;min-width:0;background:none;border:0;padding:0;color:inherit;font:inherit;cursor:pointer}
.sumstrip .part+.part{margin-left:auto}
.sumstrip .ico{width:26px;height:26px;border-radius:8px;display:grid;place-items:center;flex:0 0 auto}
.sumstrip .ico.violet{background:var(--violet-soft);color:var(--violet)}
.sumstrip .ico.teal{background:var(--teal-soft);color:var(--teal)}
.sumstrip b{font-size:19px;font-weight:700;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.sumstrip .k{font-size:12.5px;color:var(--muted);white-space:nowrap}

/* ── кнопки в рядах действий: одна высота и один размер, что бы ни лежало рядом ── */
.acts .btn,.copyrow .btn{min-height:44px!important;font-size:14px!important;border-radius:12px!important;padding:0 10px!important}
.acts .btn svg,.copyrow .btn svg{width:15px;height:15px}
.copyrow{display:grid!important;grid-template-columns:1fr 1fr}
.copyrow .btn{flex:none}


/* ── текст не выезжает за края: подписи, заголовки шторок, длинные названия ── */
.cap{min-width:0;flex-wrap:nowrap}
.cap .right{max-width:45%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:0 1 auto}
.cap .sortchip,.cap .btn{flex:0 0 auto;max-width:60%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cap .sortchip span,.cap .btn span{overflow:hidden;text-overflow:ellipsis}
.ev-title{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.2}
.sumstrip .ico.red{background:var(--red-soft);color:var(--red)}
.sumstrip .ico.amber{background:var(--amber-soft);color:var(--amber)}
.sumstrip .part .k{overflow:hidden;text-overflow:ellipsis}
.row .body,.row .t,.row .s{min-width:0}
.card,.group,.view{min-width:0}
.pill,.mbadge{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
