/* ============================================================
   ЭФИР — сервис автопостинга. Фирменный стиль (палитра Home Chef)
   Белый/кремовый · графит #1A1A1A · оранжевый #FC3F05 · зелёный CTA #22C55E
   Montserrat (заголовки, макс. SemiBold) · Inter (текст)
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@500;600&family=Inter:wght@400;500;600&display=swap');

:root{
  /* поверхности */
  --white:#ffffff; --cream:#f7f4ef; --canvas:#f7f4ef; --card:#ffffff;
  --cream-2:#efe9e0; --warm-line:#efe7da;
  /* текст (графит, не чистый чёрный) */
  --tx:#1a1a1a; --tx-muted:#67635c; --tx-soft:#9b958b;
  /* бренд — оранжевый */
  --brand:#fc3f05; --brand-600:#e2380a; --brand-700:#c2310a; --brand-50:#fff0ea; --brand-100:#ffe0d3;
  /* действие «в эфир» — зелёный */
  --go:#22c55e; --go-600:#1aa851; --go-50:#e8f8ee;
  /* каналы (родные цвета площадок) */
  --vk:#0077ff;  --vk-50:#e6f1ff;
  --max:#8b3dff; --max-50:#f1e8ff;
  --tg:#29a9ea;  --tg-50:#e3f4fd;
  /* статусы */
  --warn:#dd7d18; --warn-50:#fcf1e2;
  --err:#d92d20;  --err-50:#fcece9;
  /* линии / радиусы / тени */
  --border:#e5e0d8; --border-soft:#efeae2; --border-strong:#dcd6cc;
  --r-xs:7px; --r-sm:10px; --r:13px; --r-lg:16px; --r-xl:22px; --r-pill:999px;
  --sh-xs:0 1px 2px rgba(26,26,26,.04);
  --sh-sm:0 2px 8px rgba(26,26,26,.05);
  --sh:0 4px 24px rgba(26,26,26,.08);
  --sh-lg:0 18px 48px rgba(26,26,26,.16);
  /* шрифты */
  --f-head:'Montserrat',system-ui,-apple-system,sans-serif;
  --f-body:'Inter',system-ui,-apple-system,sans-serif;
}

*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{
  font-family:var(--f-body);
  color:var(--tx);
  background:var(--canvas);
  line-height:1.55;
  font-size:15px;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
/* заголовки — Montserrat, максимум SemiBold(600), межстрочный плотнее */
h1,h2,h3,h4{font-family:var(--f-head);font-weight:600;letter-spacing:-.01em;line-height:1.18;color:var(--tx)}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}
input,textarea,select{font-family:inherit;font-size:inherit;color:inherit}
.mono{font-family:var(--f-head);font-weight:600;font-feature-settings:"tnum"}
::selection{background:var(--brand-100)}
:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:4px}

/* ----- утилиты ----- */
.hidden{display:none !important}
.muted{color:var(--tx-muted)}
.soft{color:var(--tx-soft)}
.row{display:flex;align-items:center;gap:12px}
.between{display:flex;align-items:center;justify-content:space-between;gap:12px}
.wrap{flex-wrap:wrap}
.grow{flex:1}
.icon{width:20px;height:20px;flex:none;display:inline-block}
.icon-sm{width:16px;height:16px;flex:none}

/* фирменный знак ◗●  (оранжевый полукруг + круг) */
.hcmark{display:inline-flex;align-items:center;gap:3px}
.hcmark i{width:9px;height:9px;border-radius:50%;background:var(--brand);display:block}
.hcmark i.half{width:7px;border-radius:9px 0 0 9px}

/* ============================================================
   КНОПКИ
   ============================================================ */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  height:44px;padding:0 22px;border-radius:var(--r-sm);
  font-family:var(--f-head);font-weight:600;font-size:14px;letter-spacing:.005em;
  transition:background .16s ease,box-shadow .16s ease,color .16s ease,border-color .16s ease;
  white-space:nowrap;user-select:none;
}
.btn:disabled{cursor:not-allowed}
.btn-primary:disabled,.btn-go:disabled{background:var(--cream-2);color:var(--tx-soft);box-shadow:none}
/* primary = оранжевый (бренд) */
.btn-primary{background:var(--brand);color:#fff;box-shadow:0 4px 14px rgba(252,63,5,.22)}
.btn-primary:hover:not(:disabled){background:var(--brand-600)}
/* go = зелёный («в эфир») */
.btn-go{background:var(--go);color:#fff;box-shadow:0 4px 14px rgba(34,197,94,.24)}
.btn-go:hover:not(:disabled){background:var(--go-600)}
.btn-soft{background:var(--brand-50);color:var(--brand-700)}
.btn-soft:hover:not(:disabled){background:var(--brand-100)}
.btn-ghost{background:#fff;color:var(--tx);border:1.5px solid var(--border-strong)}
.btn-ghost:hover:not(:disabled){border-color:var(--tx-soft);background:#fffdfb}
.btn-quiet{background:transparent;color:var(--tx-muted)}
.btn-quiet:hover:not(:disabled){background:var(--cream-2);color:var(--tx)}
.btn-sm{height:36px;padding:0 15px;font-size:13px;border-radius:9px}
.btn-lg{height:50px;padding:0 26px;font-size:15.5px}
.btn-block{width:100%}
.btn-icon{width:38px;height:38px;padding:0;border-radius:10px}

/* ============================================================
   ВХОД  /login
   ============================================================ */
.auth{min-height:100vh;display:grid;grid-template-columns:1.05fr 1fr}
.auth-brand{
  position:relative;overflow:hidden;color:var(--tx);
  background:
    radial-gradient(130% 90% at 90% 100%, rgba(252,63,5,.07), transparent 55%),
    var(--cream);
  padding:54px 60px;display:flex;flex-direction:column;justify-content:center;gap:44px;
}
/* большой полупрозрачный фирменный круг как тёплый декор */
.auth-brand::after{content:"";position:absolute;right:-90px;bottom:-90px;width:320px;height:320px;border-radius:50%;
  background:var(--brand);opacity:.06;pointer-events:none}
.auth-brand .grain{position:absolute;inset:0;opacity:.5;pointer-events:none;
  background-image:radial-gradient(rgba(26,26,26,.04) 1px,transparent 1px);background-size:24px 24px}
.brandmark{display:inline-flex;align-items:center;gap:11px;font-family:var(--f-head);font-weight:600;font-size:21px;color:var(--tx);letter-spacing:-.01em;position:relative}
.brandmark .glyph{width:38px;height:38px;border-radius:11px;background:var(--brand);display:grid;place-items:center;box-shadow:0 5px 14px rgba(252,63,5,.28)}
.brandmark .glyph svg{width:22px;height:22px}
.auth-hero{position:relative;max-width:460px}
.auth-hero h1{color:var(--tx);font-size:40px;font-weight:600;line-height:1.1;letter-spacing:-.02em}
.auth-hero h1 .accent{color:var(--brand)}
.auth-hero p{margin-top:18px;color:var(--tx-muted);font-size:16px;max-width:410px}
.flow{margin-top:34px;display:flex;align-items:center;gap:14px}
.flow .src{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--border);padding:10px 14px;border-radius:12px;font-weight:600;color:var(--tx);font-family:var(--f-head);font-size:14px;box-shadow:var(--sh-xs)}
.flow .arrow{color:var(--brand);display:flex}
.flow .dests{display:flex;gap:9px}
.tile{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;color:#fff;font-family:var(--f-head);font-weight:600;font-size:13px;box-shadow:var(--sh-sm)}
.tile svg{width:22px;height:22px}
.tile.vk{background:var(--vk)} .tile.max{background:var(--max)} .tile.tg{background:var(--tg)}
.tile.sm{width:30px;height:30px;border-radius:9px;font-size:11px}.tile.sm svg{width:17px;height:17px}
.tile.xs{width:24px;height:24px;border-radius:7px;font-size:9.5px}.tile.xs svg{width:14px;height:14px}
.auth-quote{position:relative;border-top:1px solid var(--border);padding-top:22px;color:var(--tx-muted);font-size:14px;max-width:440px}
.auth-quote b{color:var(--tx)}

.auth-form-wrap{display:grid;place-items:center;padding:40px;background:#fff}
.auth-form{width:100%;max-width:384px}
.auth-form .ttl{font-size:27px;font-weight:600}
.auth-form .sub{margin-top:8px;color:var(--tx-muted);font-size:14.5px}
.demo-hint{margin-top:18px;display:flex;gap:10px;align-items:flex-start;background:var(--brand-50);border:1px solid var(--brand-100);color:var(--brand-700);
  padding:11px 13px;border-radius:11px;font-size:13px;line-height:1.45}
.demo-hint svg{flex:none;margin-top:1px}
.field{margin-top:18px}
.field > label{display:block;font-weight:600;font-size:13.5px;color:var(--tx);margin-bottom:7px;font-family:var(--f-head)}
.input{
  width:100%;height:46px;padding:0 14px;border:1.5px solid var(--border);border-radius:var(--r-sm);
  background:#fff;transition:border-color .15s,box-shadow .15s;font-size:15px;
}
.input::placeholder{color:var(--tx-soft)}
.input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 4px rgba(252,63,5,.1)}
.input.err{border-color:var(--err);box-shadow:0 0 0 4px rgba(217,45,32,.1)}
.input-pass{position:relative}
.input-pass .input{padding-right:46px}
.eye{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:36px;height:36px;border-radius:9px;display:grid;place-items:center;color:var(--tx-soft)}
.eye:hover{background:var(--cream-2);color:var(--tx-muted)}
.field-msg{margin-top:7px;font-size:12.5px;color:var(--err);display:none;align-items:center;gap:6px}
.field-msg.show{display:flex}
.form-row-between{display:flex;justify-content:flex-end;margin-top:10px}
.link{color:var(--brand);font-weight:600;font-size:13.5px}
.link:hover{color:var(--brand-600);text-decoration:underline}
.form-err{display:none;margin-top:14px;background:var(--err-50);color:#9e2018;border:1px solid #f1c9c4;padding:10px 13px;border-radius:11px;font-size:13.5px}
.form-err.show{display:flex;gap:9px;align-items:center}
.divider{display:flex;align-items:center;gap:14px;margin:22px 0;color:var(--tx-soft);font-size:12.5px}
.divider::before,.divider::after{content:"";height:1px;background:var(--border);flex:1}
.auth-foot{margin-top:24px;text-align:center;font-size:14px;color:var(--tx-muted)}

/* ============================================================
   КАРКАС ПРИЛОЖЕНИЯ
   ============================================================ */
.app{display:grid;grid-template-columns:248px 1fr;min-height:100vh}

/* --- сайдбар (светлый, белый) --- */
.sidebar{
  background:#fff;color:var(--tx);
  display:flex;flex-direction:column;position:sticky;top:0;height:100vh;padding:18px 14px;
  border-right:1px solid var(--border);
}
.sidebar .brandmark{font-size:18px;padding:6px 8px 4px}
.sidebar .brandmark .glyph{width:32px;height:32px;border-radius:9px}
.sidebar .brandmark .glyph svg{width:18px;height:18px}
.side-user{display:flex;align-items:center;gap:11px;padding:11px 9px;margin:14px 2px;border-radius:12px;cursor:pointer;transition:background .15s}
.side-user:hover{background:var(--cream)}
.avatar{width:36px;height:36px;border-radius:50%;background:var(--tx);display:grid;place-items:center;color:#fff;font-family:var(--f-head);font-weight:600;font-size:13px;flex:none}
.side-user .nm{font-family:var(--f-head);font-weight:600;font-size:13.5px;color:var(--tx);line-height:1.2}
.side-user .pl{font-size:11.5px;color:var(--tx-soft)}
.nav{display:flex;flex-direction:column;gap:3px;margin-top:6px}
.nav-label{font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--tx-soft);padding:12px 11px 6px;font-weight:600;font-family:var(--f-head)}
.nav-item{
  display:flex;align-items:center;gap:12px;padding:10px 11px;border-radius:10px;
  color:var(--tx-muted);font-family:var(--f-head);font-weight:500;font-size:14px;
  transition:background .14s,color .14s;position:relative;text-align:left;width:100%;
}
.nav-item svg{width:19px;height:19px;flex:none;opacity:.9}
.nav-item:hover{background:var(--cream);color:var(--tx)}
.nav-item.active{background:var(--brand-50);color:var(--brand-700)}
.nav-item.active svg{opacity:1;color:var(--brand)}
.nav-item.active::before{content:"";position:absolute;left:-14px;top:9px;bottom:9px;width:3px;border-radius:0 3px 3px 0;background:var(--brand)}
.nav-item .cta-dot{margin-left:auto;width:7px;height:7px;border-radius:50%;background:var(--go)}
.nav-item.is-cta{background:var(--brand-50);color:var(--brand-700);margin-top:4px}
.nav-item.is-cta svg{color:var(--brand);opacity:1}
.side-foot{margin-top:auto;padding-top:10px;border-top:1px solid var(--border-soft)}
/* затемнение для мобильного меню — всегда вне потока сетки */
.scrim{position:fixed;inset:0;background:rgba(26,26,26,.4);z-index:55;opacity:0;pointer-events:none;transition:opacity .2s}

/* --- рабочая область --- */
.workspace{min-width:0;display:flex;flex-direction:column;max-height:100vh;overflow:auto}
.topbar{
  position:sticky;top:0;z-index:20;background:rgba(247,244,239,.85);backdrop-filter:blur(8px);
  border-bottom:1px solid var(--border);padding:15px 30px;display:flex;align-items:center;justify-content:space-between;gap:16px;
}
.topbar h1{font-size:20px;font-weight:600}
.topbar .crumbs{font-size:12.5px;color:var(--tx-soft);font-weight:500;margin-bottom:2px}
.content{padding:28px 30px 60px;max-width:1320px;width:100%}

/* --- карточки/секции --- */
.card{background:var(--card);border:1px solid var(--border-soft);border-radius:var(--r-lg);box-shadow:var(--sh)}
.card-pad{padding:22px}
.section-h{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.section-h h2,.section-h h3{font-size:16.5px;font-weight:600}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--f-head);font-weight:600;font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--brand-700)}
.eyebrow .mark{display:inline-flex;gap:3px;align-items:center}
.eyebrow .mark i{width:8px;height:8px;border-radius:50%;background:var(--brand);display:block}
.eyebrow .mark i.half{border-radius:8px 0 0 8px;width:6px}

/* --- дашборд --- */
.greet{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:24px}
.greet h1{font-size:27px;font-weight:600}
.greet p{color:var(--tx-muted);margin-top:5px}
.greet .actions{display:flex;gap:10px}
.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}
.stat{background:#fff;border:1px solid var(--border-soft);border-radius:var(--r-lg);padding:20px;box-shadow:var(--sh);position:relative;overflow:hidden}
.stat .ic{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;margin-bottom:14px}
.stat .ic svg{width:21px;height:21px}
.stat.s-pub .ic{background:var(--go-50);color:var(--go-600)}
.stat.s-q .ic{background:var(--brand-50);color:var(--brand)}
.stat.s-d .ic{background:var(--cream-2);color:var(--tx-muted)}
.stat .val{font-family:var(--f-head);font-weight:600;font-size:34px;letter-spacing:-.02em;line-height:1;font-feature-settings:"tnum"}
.stat .lbl{color:var(--tx-muted);font-size:13.5px;margin-top:8px}
.stat .trend{position:absolute;top:20px;right:18px;font-family:var(--f-head);font-size:12.5px;font-weight:600;display:flex;align-items:center;gap:3px;padding:3px 8px;border-radius:var(--r-pill)}
.stat .trend.up{background:var(--go-50);color:var(--go-600)}
.dash-grid{display:grid;grid-template-columns:1.55fr 1fr;gap:16px;align-items:start}

/* таблица ближайших */
.tbl{width:100%;border-collapse:collapse}
.tbl th{text-align:left;font-family:var(--f-head);font-weight:600;font-size:11.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--tx-soft);padding:0 12px 12px}
.tbl td{padding:13px 12px;border-top:1px solid var(--border-soft);vertical-align:middle}
.tbl tr:hover td{background:var(--cream)}
.when{font-family:var(--f-head);font-weight:600;font-size:13px;white-space:nowrap}
.when .d{color:var(--tx);display:block}.when .t{color:var(--tx-soft);font-size:11.5px;font-weight:500}
.post-name{font-weight:500;font-size:14px;max-width:230px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.thumb{width:40px;height:40px;border-radius:9px;object-fit:cover;background:var(--cream-2);flex:none;display:grid;place-items:center;color:var(--tx-soft)}
.chips-row{display:flex;gap:5px}
.badge{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 9px;border-radius:var(--r-pill);font-size:11.5px;font-weight:600;font-family:var(--f-head)}
.badge .dot{width:6px;height:6px;border-radius:50%}
.badge.b-sched{background:var(--brand-50);color:var(--brand-700)} .badge.b-sched .dot{background:var(--brand)}
.badge.b-soon{background:var(--warn-50);color:#b4690f} .badge.b-soon .dot{background:var(--warn)}
.badge.b-pub{background:var(--go-50);color:var(--go-600)} .badge.b-pub .dot{background:var(--go)}
.badge.b-err{background:var(--err-50);color:#b51d1d} .badge.b-err .dot{background:var(--err)}
.badge.b-draft{background:var(--cream-2);color:var(--tx-muted)} .badge.b-draft .dot{background:var(--tx-soft)}
.row-actions{display:flex;gap:4px;opacity:.5;transition:opacity .15s}
.tbl tr:hover .row-actions{opacity:1}

/* мини-каналы на дашборде */
.chan-mini{display:flex;flex-direction:column;gap:10px}
.chan-mini .ch{display:flex;align-items:center;gap:11px;padding:11px;border:1px solid var(--border-soft);border-radius:12px}
.chan-mini .ch .nm{font-family:var(--f-head);font-weight:600;font-size:13.5px;line-height:1.2}
.chan-mini .ch .sub{font-size:11.5px;color:var(--tx-soft)}
.dot-ok{width:8px;height:8px;border-radius:50%;background:var(--go);box-shadow:0 0 0 3px var(--go-50);margin-left:auto;flex:none}
.dot-warn{width:8px;height:8px;border-radius:50%;background:var(--warn);box-shadow:0 0 0 3px var(--warn-50);margin-left:auto;flex:none}

/* ============================================================
   СОЗДАНИЕ ПОСТА
   ============================================================ */
.composer{display:grid;grid-template-columns:1fr 430px;gap:20px;align-items:start}
.editor-stack{display:flex;flex-direction:column;gap:16px;min-width:0}
.block{background:#fff;border:1px solid var(--border-soft);border-radius:var(--r-lg);padding:18px;box-shadow:var(--sh)}
.block > .bh{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px}
.block .bh .t{font-family:var(--f-head);font-weight:600;font-size:14.5px;display:flex;align-items:center;gap:9px}
.block .bh .t .ti{width:26px;height:26px;border-radius:8px;background:var(--brand-50);color:var(--brand);display:grid;place-items:center}
.block .bh .t .ti svg{width:15px;height:15px}

/* выбор каналов */
.chan-pick{display:flex;gap:10px;flex-wrap:wrap}
.chan-toggle{
  display:flex;align-items:center;gap:11px;padding:11px 14px 11px 11px;border:1.5px solid var(--border);
  border-radius:13px;cursor:pointer;transition:all .15s;background:#fff;position:relative;user-select:none;min-width:178px;
}
.chan-toggle:hover{border-color:var(--border-strong)}
.chan-toggle .nm{font-family:var(--f-head);font-weight:600;font-size:13.5px;line-height:1.15}
.chan-toggle .sub{font-size:11px;color:var(--tx-soft)}
.chan-toggle .check{margin-left:auto;width:21px;height:21px;border-radius:7px;border:2px solid var(--border-strong);display:grid;place-items:center;color:#fff;transition:all .15s}
.chan-toggle .check svg{width:13px;height:13px;opacity:0;transition:opacity .12s}
.chan-toggle.on.vk{border-color:var(--vk);background:var(--vk-50)} .chan-toggle.on.vk .check{background:var(--vk);border-color:var(--vk)}
.chan-toggle.on.max{border-color:var(--max);background:var(--max-50)} .chan-toggle.on.max .check{background:var(--max);border-color:var(--max)}
.chan-toggle.on.tg{border-color:var(--tg);background:var(--tg-50)} .chan-toggle.on.tg .check{background:var(--tg);border-color:var(--tg)}
.chan-toggle.on .check svg{opacity:1}
.switch-line{display:flex;align-items:center;gap:11px;margin-top:14px;padding-top:14px;border-top:1px solid var(--border-soft)}
.switch{width:42px;height:24px;border-radius:var(--r-pill);background:var(--border-strong);position:relative;transition:background .16s;flex:none;cursor:pointer}
.switch::after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:var(--sh-sm);transition:transform .16s}
.switch.on{background:var(--brand)} .switch.on::after{transform:translateX(18px)}
.switch-line .lbl{font-size:13.5px;font-weight:500}
.switch-line .lbl small{display:block;color:var(--tx-soft);font-size:11.5px;font-weight:400}

/* тулбар форматирования + textarea */
.fmt-bar{display:flex;gap:3px;margin-bottom:11px;flex-wrap:wrap}
.fmt-btn{width:34px;height:34px;border-radius:8px;display:grid;place-items:center;color:var(--tx-muted);font-family:var(--f-head);font-weight:600;font-size:14px;transition:background .14s,color .14s}
.fmt-btn:hover{background:var(--cream);color:var(--tx)}
.fmt-btn.i{font-style:italic;font-weight:500}.fmt-btn.u{text-decoration:underline}.fmt-btn.s{text-decoration:line-through}
.fmt-sep{width:1px;background:var(--border);margin:6px 5px}
.fmt-ai{margin-left:auto;display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 13px;border-radius:9px;
  background:var(--brand-50);color:var(--brand-700);font-family:var(--f-head);font-weight:600;font-size:12.5px}
.fmt-ai:hover{background:var(--brand-100)}
.ta{
  width:100%;min-height:148px;border:1.5px solid var(--border);border-radius:var(--r);padding:13px 14px;resize:vertical;
  font-size:15px;line-height:1.6;background:#fff;transition:border-color .15s,box-shadow .15s;
}
.ta:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 4px rgba(252,63,5,.08)}
.counter{display:flex;justify-content:flex-end;gap:9px;margin-top:8px;font-family:var(--f-head);font-weight:600;font-size:12px;color:var(--tx-soft)}
.counter .lim{display:flex;align-items:center;gap:5px}
.counter .lim .tile{width:18px;height:18px;border-radius:5px;font-size:8px}.counter .lim .tile svg{width:11px;height:11px}
.counter .over{color:var(--err);font-weight:600}

/* AI-панель */
.ai-panel{margin-top:12px;border:1.5px dashed var(--brand-100);background:linear-gradient(180deg,#fff7f4,#fff);border-radius:var(--r);padding:14px}
.ai-panel textarea{width:100%;min-height:54px;border:1.5px solid var(--border);border-radius:10px;padding:10px 12px;resize:vertical;font-size:14px}
.ai-panel textarea:focus{outline:none;border-color:var(--brand)}
.ai-row{display:flex;gap:9px;margin-top:10px;flex-wrap:wrap;align-items:center}
.select{height:38px;padding:0 32px 0 12px;border:1.5px solid var(--border);border-radius:9px;background:#fff
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%239b958b' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 11px center;
  font-size:13.5px;font-weight:500;appearance:none;cursor:pointer}
.select:focus{outline:none;border-color:var(--brand)}

/* dropzone */
.dropzone{border:1.5px dashed var(--border-strong);border-radius:var(--r);padding:26px;text-align:center;color:var(--tx-muted);transition:all .15s;cursor:pointer;background:var(--cream)}
.dropzone:hover{border-color:var(--brand);background:var(--brand-50)}
.dropzone .di{width:44px;height:44px;border-radius:12px;background:#fff;border:1px solid var(--border);display:grid;place-items:center;margin:0 auto 12px;color:var(--brand)}
.dropzone b{color:var(--tx);font-family:var(--f-head);font-weight:600}
.dropzone .fmt{font-size:12px;color:var(--tx-soft);margin-top:5px}
.media-row{display:flex;gap:9px;flex-wrap:wrap;margin-top:12px}
.media-thumb{width:74px;height:74px;border-radius:11px;background:var(--cream-2);position:relative;overflow:hidden;display:grid;place-items:center;color:var(--tx-soft)}
.media-thumb .rm{position:absolute;top:4px;right:4px;width:20px;height:20px;border-radius:50%;background:rgba(26,26,26,.62);color:#fff;display:grid;place-items:center;backdrop-filter:blur(2px)}
.media-thumb .rm svg{width:11px;height:11px}
.mini-btns{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}

/* аккордеон доп.настроек */
.acc{border:1px solid var(--border-soft);border-radius:var(--r);overflow:hidden}
.acc-item + .acc-item{border-top:1px solid var(--border-soft)}
.acc-head{display:flex;align-items:center;gap:11px;padding:14px 16px;cursor:pointer;font-family:var(--f-head);font-weight:600;font-size:14px;transition:background .14s;width:100%;text-align:left}
.acc-head:hover{background:var(--cream)}
.acc-head .ai-ico{width:28px;height:28px;border-radius:8px;background:var(--cream-2);color:var(--tx-muted);display:grid;place-items:center;flex:none}
.acc-head .ai-ico svg{width:16px;height:16px}
.acc-head .chev{margin-left:auto;color:var(--tx-soft);transition:transform .18s}
.acc-head .tag{font-size:11px;font-weight:500;color:var(--tx-soft);font-family:var(--f-body)}
.acc-item.open .chev{transform:rotate(180deg)}
.acc-body{display:none;padding:2px 16px 18px 55px}
.acc-item.open .acc-body{display:block}
.chip-input{display:flex;gap:7px;flex-wrap:wrap;align-items:center}
.tag-chip{display:inline-flex;align-items:center;gap:6px;background:var(--brand-50);color:var(--brand-700);padding:5px 6px 5px 11px;border-radius:var(--r-pill);font-size:12.5px;font-weight:600;font-family:var(--f-head)}
.tag-chip button{width:16px;height:16px;border-radius:50%;display:grid;place-items:center;color:var(--brand-700)}
.tag-chip button:hover{background:var(--brand-100)}

/* выбор времени публикации */
.when-pick{display:flex;flex-direction:column;gap:9px}
.radio-card{display:flex;align-items:flex-start;gap:12px;padding:14px;border:1.5px solid var(--border);border-radius:var(--r);cursor:pointer;transition:all .15s}
.radio-card:hover{border-color:var(--border-strong)}
.radio-card .rd{width:20px;height:20px;border-radius:50%;border:2px solid var(--border-strong);flex:none;margin-top:1px;display:grid;place-items:center;transition:border-color .15s}
.radio-card .rd::after{content:"";width:10px;height:10px;border-radius:50%;background:var(--brand);transform:scale(0);transition:transform .15s}
.radio-card.on{border-color:var(--brand);background:var(--brand-50)}
.radio-card.on .rd{border-color:var(--brand)} .radio-card.on .rd::after{transform:scale(1)}
.radio-card .ic{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;flex:none;background:#fff;border:1px solid var(--border);color:var(--tx-muted)}
.radio-card.on .ic{color:var(--brand);border-color:var(--brand-100)}
.radio-card .tx .t{font-family:var(--f-head);font-weight:600;font-size:14px}
.radio-card .tx .s{font-size:12.5px;color:var(--tx-soft)}
.sched-fields{display:none;gap:10px;margin-top:10px;padding-left:32px}
.sched-fields.show{display:flex;flex-wrap:wrap}
.sched-fields .input{height:42px;max-width:170px}

/* нижняя панель действий */
.compose-actions{position:sticky;bottom:0;background:rgba(247,244,239,.92);backdrop-filter:blur(8px);
  border-top:1px solid var(--border);margin:8px -30px -60px;padding:14px 30px;display:flex;align-items:center;gap:11px;z-index:15}
.compose-actions .spacer{flex:1}

/* ----- ПРЕДПРОСМОТР ----- */
.preview-col{position:sticky;top:88px}
.preview-card{background:#fff;border:1px solid var(--border-soft);border-radius:var(--r-lg);box-shadow:var(--sh);overflow:hidden}
.preview-tabs{display:flex;gap:2px;padding:8px;background:var(--cream);border-bottom:1px solid var(--border-soft)}
.ptab{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;height:38px;border-radius:9px;font-family:var(--f-head);font-weight:600;font-size:12.5px;color:var(--tx-muted);transition:all .14s}
.ptab .tile{width:20px;height:20px;border-radius:6px;font-size:9px}.ptab .tile svg{width:12px;height:12px}
.ptab:hover{background:#fff}
.ptab.on{background:#fff;box-shadow:var(--sh-sm)}
.ptab.on.vk{color:var(--vk)} .ptab.on.max{color:var(--max)} .ptab.on.tg{color:var(--tg)}
.preview-body{padding:18px;min-height:340px;background:var(--cream-2)}
.warn-strip{display:none;margin-bottom:12px;background:var(--warn-50);border:1px solid #f3d9b3;color:#9a5a0c;padding:9px 12px;border-radius:10px;font-size:12.5px;align-items:center;gap:8px}
.warn-strip.show{display:flex}

/* скин поста (общий) */
.skin{background:#fff;border-radius:14px;overflow:hidden;box-shadow:var(--sh-sm)}
.skin-head{display:flex;align-items:center;gap:10px;padding:13px 14px}
.skin-ava{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:#fff;font-family:var(--f-head);font-weight:600;font-size:14px;flex:none}
.skin-ava svg{width:22px;height:22px}
.skin-head .nm{font-family:var(--f-head);font-weight:600;font-size:14px;display:flex;align-items:center;gap:5px}
.skin-head .nm svg{width:14px;height:14px}
.skin-head .meta{font-size:11.5px;color:var(--tx-soft)}
.skin-text{padding:2px 14px 13px;font-size:14px;line-height:1.55;white-space:pre-wrap;word-break:break-word}
.skin-text .ph{color:var(--tx-soft)}
.skin-media{aspect-ratio:16/10;background:var(--cream-2);display:grid;place-items:center;color:var(--tx-soft);margin:0 0 2px}
.skin-media.has{background-size:cover;background-position:center}
.skin-btns{display:flex;flex-direction:column;gap:6px;padding:10px 14px 14px}
.skin-btn{height:38px;border-radius:9px;display:flex;align-items:center;justify-content:center;gap:7px;font-family:var(--f-head);font-weight:600;font-size:13px}
.skin.s-tg .skin-btn{background:#eaf5fc;color:var(--tg)}
.skin.s-max .skin-btn{background:#f1e8ff;color:var(--max)}
.skin-foot{display:flex;gap:16px;padding:11px 14px;border-top:1px solid var(--border-soft);color:var(--tx-soft);font-size:12.5px}
.skin-foot span{display:flex;align-items:center;gap:5px}
.skin-foot svg{width:15px;height:15px}
.preview-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:300px;color:var(--tx-soft);text-align:center}
.preview-empty .pe-ic{width:54px;height:54px;border-radius:15px;background:#fff;border:1px solid var(--border);display:grid;place-items:center;color:var(--tx-soft)}

/* ============================================================
   КАНАЛЫ
   ============================================================ */
.chan-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:16px}
.chan-card{background:#fff;border:1px solid var(--border-soft);border-radius:var(--r-lg);padding:20px;box-shadow:var(--sh);position:relative}
.chan-card .ch-top{display:flex;align-items:center;gap:13px}
.chan-card .tile{width:48px;height:48px;border-radius:13px;font-size:15px}.chan-card .tile svg{width:26px;height:26px}
.chan-card .ch-nm{font-family:var(--f-head);font-weight:600;font-size:16px;line-height:1.2}
.chan-card .ch-h{font-size:12.5px;color:var(--tx-soft)}
.chan-status{display:inline-flex;align-items:center;gap:7px;margin-top:15px;padding:6px 11px;border-radius:var(--r-pill);font-size:12.5px;font-weight:600;font-family:var(--f-head)}
.chan-status.ok{background:var(--go-50);color:var(--go-600)} .chan-status.ok .dot{background:var(--go)}
.chan-status.warn{background:var(--warn-50);color:#b4690f} .chan-status.warn .dot{background:var(--warn)}
.chan-status .dot{width:7px;height:7px;border-radius:50%}
.chan-meta{margin-top:13px;font-size:12.5px;color:var(--tx-muted);display:flex;flex-direction:column;gap:5px}
.chan-meta b{color:var(--tx);font-weight:600}
.chan-acts{display:flex;gap:8px;margin-top:16px;flex-wrap:wrap}
.add-chan{background:var(--cream);border:1.5px dashed var(--border-strong);border-radius:var(--r-lg);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:11px;padding:30px;cursor:pointer;color:var(--tx-muted);transition:all .15s;min-height:200px}
.add-chan:hover{border-color:var(--brand);color:var(--brand);background:var(--brand-50)}
.add-chan .pl{width:50px;height:50px;border-radius:14px;background:#fff;border:1px solid var(--border);display:grid;place-items:center;color:var(--brand)}

/* ============================================================
   МОДАЛКА
   ============================================================ */
.overlay{position:fixed;inset:0;background:rgba(26,26,26,.42);backdrop-filter:blur(3px);z-index:100;display:grid;place-items:center;padding:24px;opacity:0;pointer-events:none;transition:opacity .18s}
.overlay.show{opacity:1;pointer-events:auto}
.modal{background:#fff;border-radius:var(--r-xl);box-shadow:var(--sh-lg);width:100%;max-width:540px;max-height:90vh;overflow:auto;transform:translateY(8px) scale(.98);transition:transform .18s}
.overlay.show .modal{transform:none}
.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:22px 24px 0}
.modal-head h3{font-size:19px;font-weight:600}
.modal-head p{color:var(--tx-muted);font-size:13.5px;margin-top:4px}
.modal-x{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;color:var(--tx-soft);flex:none}
.modal-x:hover{background:var(--cream);color:var(--tx)}
.modal-body{padding:20px 24px 24px}
.plat-pick{display:flex;flex-direction:column;gap:10px}
.plat-card{display:flex;align-items:center;gap:14px;padding:15px;border:1.5px solid var(--border);border-radius:var(--r);cursor:pointer;transition:all .15s}
.plat-card:hover{border-color:var(--brand);background:var(--brand-50)}
.plat-card .tile{width:46px;height:46px;border-radius:12px;font-size:14px}.plat-card .tile svg{width:25px;height:25px}
.plat-card .t{font-family:var(--f-head);font-weight:600;font-size:15px}
.plat-card .s{font-size:12.5px;color:var(--tx-soft)}
.plat-card .go{margin-left:auto;color:var(--tx-soft)}
.steps{display:flex;align-items:center;gap:8px;margin-bottom:18px;font-size:12.5px;color:var(--tx-soft);font-family:var(--f-head);font-weight:600}
.steps .s-back{display:inline-flex;align-items:center;gap:5px;color:var(--brand);cursor:pointer}
.instruct{background:var(--cream);border:1px solid var(--border-soft);border-radius:var(--r);padding:14px;font-size:13px;color:var(--tx-muted);line-height:1.55;margin-bottom:16px}
.instruct ol{margin:8px 0 0 18px;display:flex;flex-direction:column;gap:5px}
.instruct b{color:var(--tx)}
.instruct code{font-family:ui-monospace,monospace;font-size:12px;background:var(--brand-50);color:var(--brand-700);padding:1px 6px;border-radius:5px}
.field-mono .input{font-family:ui-monospace,monospace;font-size:13px}

/* ============================================================
   ПРОЧЕЕ / ЗАГЛУШКИ
   ============================================================ */
.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:70px 20px;text-align:center}
.empty-state .es-ic{width:64px;height:64px;border-radius:18px;background:#fff;border:1px solid var(--border);display:grid;place-items:center;color:var(--brand);box-shadow:var(--sh-xs)}
.empty-state h3{font-size:18px;font-weight:600}
.empty-state p{color:var(--tx-muted);max-width:380px}

.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(20px);background:var(--tx);color:#fff;
  padding:13px 18px;border-radius:13px;box-shadow:var(--sh-lg);font-size:14px;font-weight:500;display:flex;align-items:center;gap:10px;
  z-index:200;opacity:0;pointer-events:none;transition:all .25s}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.toast .tk{width:22px;height:22px;border-radius:50%;background:var(--go);display:grid;place-items:center;flex:none}
.toast .tk svg{width:14px;height:14px}

/* ============================================================
   АДАПТИВ
   ============================================================ */
@media (max-width:1180px){
  .composer{grid-template-columns:1fr}
  .preview-col{position:static}
  .dash-grid{grid-template-columns:1fr}
}
@media (max-width:920px){
  .app{grid-template-columns:1fr}
  .sidebar{position:fixed;left:0;top:0;z-index:60;transform:translateX(-100%);transition:transform .22s;width:248px;box-shadow:var(--sh-lg)}
  .sidebar.open{transform:none}
  .scrim.show{opacity:1;pointer-events:auto}
  .burger{display:grid !important}
  .stat-grid{grid-template-columns:1fr}
  .auth{grid-template-columns:1fr}
  .auth-brand{display:none}
}
@media (min-width:921px){.burger{display:none}}
@media (max-width:560px){
  .content{padding:20px 16px 60px}.topbar{padding:13px 16px}
  .greet h1{font-size:22px}
  .compose-actions{margin-left:-16px;margin-right:-16px;padding-left:16px;padding-right:16px;flex-wrap:wrap}
  .compose-actions .btn{flex:1}
  .chan-toggle{min-width:100%}
}
.burger{width:40px;height:40px;border-radius:10px;border:1px solid var(--border);background:#fff;place-items:center;color:var(--tx)}

@media (prefers-reduced-motion:reduce){*{transition:none !important;animation:none !important}}

/* ============================================================
   ОБЩИЕ ТУЛБАРЫ / ФИЛЬТРЫ
   ============================================================ */
.toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:18px}
.toolbar .grow{flex:1}
.seg{display:inline-flex;background:#fff;border:1px solid var(--border);border-radius:10px;padding:3px;gap:2px}
.seg button{height:32px;padding:0 14px;border-radius:8px;font-family:var(--f-head);font-weight:600;font-size:13px;color:var(--tx-muted);transition:all .14s}
.seg button:hover{color:var(--tx)}
.seg button.on{background:var(--brand-50);color:var(--brand-700)}
.select.sm{height:36px;font-size:13px;font-weight:500;font-family:var(--f-head);color:var(--tx-muted)}
.icon-btn{width:36px;height:36px;border-radius:9px;border:1px solid var(--border);background:#fff;display:grid;place-items:center;color:var(--tx-muted)}
.icon-btn:hover{background:var(--cream);color:var(--tx)}
.icon-btn svg{width:18px;height:18px}

/* ============================================================
   КАЛЕНДАРЬ
   ============================================================ */
.cal-card{background:#fff;border:1px solid var(--border-soft);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh)}
.cal-wd{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid var(--border-soft);background:var(--cream)}
.cal-wd div{padding:11px;text-align:center;font-family:var(--f-head);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--tx-soft)}
.cal-days{display:grid;grid-template-columns:repeat(7,1fr)}
.cal-cell{min-height:118px;border-right:1px solid var(--border-soft);border-bottom:1px solid var(--border-soft);padding:8px;display:flex;flex-direction:column;gap:5px;cursor:pointer;transition:background .12s}
.cal-cell:hover{background:var(--cream)}
.cal-cell:nth-child(7n){border-right:none}
.cal-cell.dim{background:#fbfaf7}
.cal-cell.dim .dnum{color:var(--tx-soft);opacity:.55}
.cal-cell .dnum{width:25px;height:25px;border-radius:7px;display:grid;place-items:center;font-family:var(--f-head);font-weight:600;font-size:12.5px;color:var(--tx-muted)}
.cal-cell.today .dnum{background:var(--brand);color:#fff}
.cal-chip{display:flex;align-items:center;gap:6px;padding:4px 7px;border-radius:7px;font-size:11px;font-weight:600;font-family:var(--f-head);cursor:pointer;overflow:hidden}
.cal-chip .tx{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cal-chip .tile{width:15px;height:15px;border-radius:4px;font-size:7px;flex:none}.cal-chip .tile svg{width:9px;height:9px}
.cal-chip.r1{background:var(--brand-50);color:var(--brand-700)}
.cal-chip.r2{background:var(--go-50);color:var(--go-600)}
.cal-chip.r3{background:var(--warn-50);color:#9a5a0c}
.cal-more{font-size:10.5px;color:var(--tx-soft);font-weight:600;padding-left:3px}
.agenda{display:flex;flex-direction:column;gap:10px}
.agenda-day{font-family:var(--f-head);font-weight:600;font-size:12.5px;color:var(--tx-soft);text-transform:uppercase;letter-spacing:.04em;margin:10px 0 2px}

/* ===== Side drawer (детали поста) ===== */
.drawer-back{position:fixed;inset:0;background:rgba(26,26,26,.4);z-index:90;opacity:0;pointer-events:none;transition:opacity .2s}
.drawer-back.show{opacity:1;pointer-events:auto}
.drawer{position:fixed;top:0;right:0;height:100vh;width:392px;max-width:92vw;background:#fff;z-index:95;box-shadow:var(--sh-lg);transform:translateX(100%);transition:transform .24s;display:flex;flex-direction:column}
.drawer.show{transform:none}
.drawer-h{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:20px 22px;border-bottom:1px solid var(--border-soft)}
.drawer-h h3{font-size:17px}
.drawer-b{padding:20px 22px;overflow:auto;flex:1}
.drawer-f{padding:16px 22px;border-top:1px solid var(--border-soft);display:flex;gap:8px;flex-wrap:wrap}
.dl{display:flex;flex-direction:column;gap:14px;margin-bottom:18px}
.dl .li{display:flex;gap:12px;align-items:flex-start}
.dl .li .k{font-size:12px;color:var(--tx-soft);width:96px;flex:none;font-weight:500;padding-top:2px}
.dl .li .v{font-size:13.5px;font-weight:500}
.drawer-text{background:var(--cream);border:1px solid var(--border-soft);border-radius:12px;padding:14px;font-size:13.5px;line-height:1.55;white-space:pre-wrap}

/* ============================================================
   СПИСКИ (очередь / черновики)
   ============================================================ */
.post-list{display:flex;flex-direction:column;gap:12px}
.post-card{display:flex;gap:16px;background:#fff;border:1px solid var(--border-soft);border-radius:var(--r-lg);padding:16px;box-shadow:var(--sh);align-items:flex-start}
.pc-date{width:92px;flex:none;text-align:center;background:var(--cream);border-radius:12px;padding:12px 8px}
.pc-date .dd{font-family:var(--f-head);font-weight:600;font-size:24px;line-height:1;color:var(--brand)}
.pc-date .mm{font-size:11.5px;color:var(--tx-muted);margin-top:3px}
.pc-date .tt{font-family:var(--f-head);font-weight:600;font-size:13px;margin-top:8px;color:var(--tx)}
.pc-thumb{width:80px;height:80px;border-radius:12px;background:var(--cream-2);flex:none;display:grid;place-items:center;color:var(--tx-soft)}
.pc-thumb svg{width:26px;height:26px}
.pc-body{flex:1;min-width:0}
.pc-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.pc-text{font-size:14px;line-height:1.5;color:var(--tx);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pc-acts{display:flex;gap:7px;margin-top:12px;flex-wrap:wrap}
.rub{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--tx-muted);font-family:var(--f-head)}
.rub .pt{width:9px;height:9px;border-radius:50%}
.pagination{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:22px}

/* ============================================================
   АНАЛИТИКА
   ============================================================ */
.chart{display:flex;align-items:flex-end;gap:10px;height:220px;padding-top:10px}
.chart .col{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;height:100%;justify-content:flex-end}
.chart .bar{width:100%;max-width:36px;border-radius:7px 7px 0 0;background:var(--brand);transition:background .15s}
.chart .col:hover .bar{background:var(--brand-600)}
.chart .bl{font-size:11px;color:var(--tx-soft);font-weight:500}
.chart .bv{font-family:var(--f-head);font-weight:600;font-size:11.5px;color:var(--tx-muted)}

/* ============================================================
   НАСТРОЙКИ
   ============================================================ */
.tabs{display:flex;gap:2px;border-bottom:1px solid var(--border);margin-bottom:24px;overflow-x:auto}
.tab{height:44px;padding:0 16px;font-family:var(--f-head);font-weight:600;font-size:14px;color:var(--tx-muted);border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap;transition:color .14s}
.tab:hover{color:var(--tx)}
.tab.on{color:var(--brand-700);border-bottom-color:var(--brand)}
.tab-panel{display:none}.tab-panel.on{display:block;animation:fade .2s}
@keyframes fade{from{opacity:0}to{opacity:1}}
.set-card{max-width:640px}
.set-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 0;border-top:1px solid var(--border-soft)}
.set-row:first-child{border-top:none}
.set-row .lbl{font-weight:500;font-size:14px}
.set-row .lbl small{display:block;color:var(--tx-soft);font-size:12px;font-weight:400;margin-top:2px}
.list-item{display:flex;align-items:center;gap:12px;padding:13px 0;border-top:1px solid var(--border-soft)}
.list-item:first-child{border-top:none}
.color-dots{display:flex;gap:8px;flex-wrap:wrap}
.color-dot{width:26px;height:26px;border-radius:50%;cursor:pointer;border:2px solid #fff;box-shadow:0 0 0 1px var(--border);transition:transform .12s}
.color-dot:hover{transform:scale(1.12)}
.color-dot.on{box-shadow:0 0 0 2px var(--tx)}
.api-key{display:flex;align-items:center;gap:10px;font-family:ui-monospace,monospace;font-size:13px;background:var(--cream);border:1px solid var(--border-soft);border-radius:10px;padding:11px 13px}
.avatar-lg{width:72px;height:72px;border-radius:50%;background:var(--tx);color:#fff;display:grid;place-items:center;font-family:var(--f-head);font-weight:600;font-size:26px;flex:none}

@media (max-width:680px){
  .cal-cell{min-height:84px;padding:5px}
  .post-card{flex-wrap:wrap}.pc-thumb{display:none}
  .stat-grid[style]{grid-template-columns:1fr 1fr !important}
}

/* ============================================================
   ДОП. КАНАЛЫ (видео): YouTube / Instagram / Дзен
   ============================================================ */
.tile.yt{background:#ff0000}
.tile.ig{background:linear-gradient(45deg,#feda75,#fa7e1e 28%,#d62976 58%,#962fbf 80%,#4f5bd5)}
.tile.zen{background:#1a1a1a}
.tile.av{width:40px;height:40px;border-radius:50%;font-size:14px}
.tile.av svg{width:22px;height:22px}
.chan-toggle.on.yt{border-color:#ff0000;background:#fff0f0}.chan-toggle.on.yt .check{background:#ff0000;border-color:#ff0000}
.chan-toggle.on.ig{border-color:#d62976;background:#fdeef5}.chan-toggle.on.ig .check{background:#d62976;border-color:#d62976}
.chan-toggle.on.zen{border-color:#1a1a1a;background:#f1f0ee}.chan-toggle.on.zen .check{background:#1a1a1a;border-color:#1a1a1a}
.ptab.on.yt{color:#ff0000}.ptab.on.ig{color:#d62976}.ptab.on.zen{color:#1a1a1a}

.seg.seg-wide{display:flex;width:100%}
.seg.seg-wide button{flex:1;text-align:center}

/* вкладки «текст для канала» */
.subtabs{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-bottom:12px;background:var(--cream);padding:5px;border-radius:11px}
.subtabs-l{font-size:11.5px;color:var(--tx-soft);font-weight:600;font-family:var(--f-head);padding:0 3px 0 6px}
.subtab{display:flex;align-items:center;gap:6px;height:32px;padding:0 11px;border-radius:8px;font-family:var(--f-head);font-weight:600;font-size:12.5px;color:var(--tx-muted);transition:all .14s}
.subtab:hover{color:var(--tx)}
.subtab.on{background:#fff;box-shadow:var(--sh-sm);color:var(--tx)}
.subtab.on.vk{color:var(--vk)}.subtab.on.max{color:var(--max)}.subtab.on.tg{color:var(--tg)}
.subtab.on.yt{color:#ff0000}.subtab.on.ig{color:#d62976}.subtab.on.zen{color:#1a1a1a}

/* предпросмотр короткого видео (9:16) */
.vskin{display:flex;flex-direction:column;align-items:center;gap:12px}
.vframe{position:relative;width:210px;aspect-ratio:9/16;border-radius:16px;overflow:hidden;background:#0e0e12;box-shadow:var(--sh);display:grid;place-items:center}
.vframe video{width:100%;height:100%;object-fit:cover}
.vph{display:flex;flex-direction:column;align-items:center;gap:8px;color:rgba(255,255,255,.45);font-size:12px;font-family:var(--f-head);font-weight:600}
.vph svg{width:34px;height:34px}
.vbadge{position:absolute;top:10px;left:10px;display:flex;align-items:center;gap:5px;background:rgba(0,0,0,.5);color:#fff;padding:4px 10px 4px 4px;border-radius:var(--r-pill);font-family:var(--f-head);font-weight:600;font-size:11px;backdrop-filter:blur(4px)}
.vbadge .tile{box-shadow:none}
.vcap{width:100%;max-width:300px;background:#fff;border-radius:12px;box-shadow:var(--sh-sm);overflow:hidden}
.vhead{display:flex;align-items:center;gap:9px;padding:11px 13px 3px}
.vhead .nm{font-family:var(--f-head);font-weight:600;font-size:13.5px}
.vhead .meta{font-size:11px;color:var(--tx-soft)}
.vtext{padding:4px 13px 13px;font-size:13.5px;line-height:1.5;white-space:pre-wrap;word-break:break-word}
.vtext .ph{color:var(--tx-soft)}
.file-card{display:flex;align-items:center;gap:12px;margin-top:12px;padding:10px;border:1px solid var(--border-soft);border-radius:12px;background:#fff}
.file-vid{width:54px;height:54px;border-radius:9px;object-fit:cover;background:#0e0e12;flex:none}
.file-card .fn{font-family:var(--f-head);font-weight:600;font-size:13.5px;word-break:break-all;line-height:1.3}
.file-card .fs{font-size:12px;color:var(--tx-soft);margin-top:2px}

/* ============================================================
   МОБИЛЬНЫЕ ДОРАБОТКИ
   ============================================================ */
@media (max-width:760px){
  .chan-toggle{min-width:calc(50% - 5px)}
  .seg.seg-wide button{font-size:12.5px;padding:0 8px}
  .topbar .btn{display:none}            /* «Создать пост» в шапке прячем — есть в меню */
}
@media (max-width:560px){
  .chan-toggle{min-width:100%}
  .subtabs{flex-wrap:nowrap;overflow-x:auto}
  .preview-col .preview-card{max-width:380px;margin:0 auto}
  .counter{flex-wrap:wrap;justify-content:flex-start}
  .compose-actions{flex-direction:column-reverse;align-items:stretch}
  .compose-actions .spacer{display:none}
  .compose-actions .btn{width:100%}
}

/* ============================================================
   ПЕРЕКЛЮЧАТЕЛЬ ПРОЕКТОВ
   ============================================================ */
.proj-wrap{position:relative;margin-bottom:6px}
.proj-switch{display:flex;align-items:center;gap:11px;width:100%;padding:9px 10px;border-radius:12px;text-align:left;transition:background .14s}
.proj-switch:hover{background:var(--cream)}
.proj-ava{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;color:#fff;font-family:var(--f-head);font-weight:700;font-size:13px;flex:none}
.proj-meta{display:flex;flex-direction:column;min-width:0;flex:1}
.proj-name{font-family:var(--f-head);font-weight:700;font-size:14px;color:var(--tx);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.proj-tag{font-size:11px;color:var(--tx-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.proj-chev{width:18px;height:18px;color:var(--tx-soft);flex:none}
.proj-menu{position:absolute;top:calc(100% + 6px);left:0;right:0;background:#fff;border:1px solid var(--border);border-radius:14px;box-shadow:var(--sh-lg);padding:6px;z-index:40}
.proj-opt{display:flex;align-items:center;gap:10px;width:100%;padding:8px 9px;border-radius:10px;text-align:left;transition:background .12s}
.proj-opt:hover{background:var(--cream)}
.proj-opt.on{background:var(--brand-50)}
.proj-opt .proj-ava{width:30px;height:30px;border-radius:8px;font-size:11px}
.proj-opt .nm{font-family:var(--f-head);font-weight:600;font-size:13.5px;line-height:1.2}
.proj-opt .tgl{font-size:11px;color:var(--tx-soft)}
.proj-opt .ok{margin-left:auto;color:var(--brand);display:flex}
.proj-menu .sep{height:1px;background:var(--border-soft);margin:6px 4px}
.proj-add{display:flex;align-items:center;gap:9px;width:100%;padding:9px;border-radius:10px;color:var(--brand-700);font-family:var(--f-head);font-weight:600;font-size:13px}
.proj-add:hover{background:var(--brand-50)}
.proj-add svg{width:18px;height:18px}

/* ============================================================
   АДМИНКА / ДОСТУПЫ / ПРОЕКТЫ
   ============================================================ */
.admin-tbl th,.admin-tbl td{padding-left:14px;padding-right:14px}
.u-cell{display:flex;align-items:center;gap:11px}
.u-cell .avatar{width:34px;height:34px;font-size:12px}
.u-cell .nm{font-family:var(--f-head);font-weight:600;font-size:14px;line-height:1.2}
.u-cell .em{font-size:12px;color:var(--tx-soft)}
.role{display:inline-flex;align-items:center;height:24px;padding:0 10px;border-radius:var(--r-pill);font-size:12px;font-weight:600;font-family:var(--f-head);white-space:nowrap}
.role.admin{background:var(--brand-50);color:var(--brand-700)}
.role.editor{background:var(--go-50);color:var(--go-600)}
.role.manager{background:#eaf1ff;color:#2b5bbd}
.role.viewer{background:var(--cream-2);color:var(--tx-muted)}
.acc-chips{display:flex;gap:5px;flex-wrap:wrap;align-items:center}
.acc-all{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:var(--tx-muted);font-family:var(--f-head)}
.pchip{width:24px;height:24px;border-radius:7px;display:grid;place-items:center;color:#fff;font-family:var(--f-head);font-weight:700;font-size:9px}
.proj-checks{display:flex;flex-direction:column;gap:8px;margin-top:8px}
.pcheck{display:flex;align-items:center;gap:10px;padding:9px 11px;border:1.5px solid var(--border);border-radius:11px;cursor:pointer;transition:all .14s}
.pcheck:hover{border-color:var(--border-strong)}
.pcheck.on{border-color:var(--brand);background:var(--brand-50)}
.pcheck .cb{width:20px;height:20px;border-radius:6px;border:2px solid var(--border-strong);display:grid;place-items:center;color:#fff;flex:none}
.pcheck .cb svg{width:12px;height:12px;opacity:0}
.pcheck.on .cb{background:var(--brand);border-color:var(--brand)}
.pcheck.on .cb svg{opacity:1}
.pcheck .proj-ava{width:28px;height:28px;border-radius:8px;font-size:10px}
.pcheck .nm{font-family:var(--f-head);font-weight:600;font-size:13.5px}

.proj-card{background:#fff;border:1px solid var(--border-soft);border-radius:var(--r-lg);padding:20px;box-shadow:var(--sh)}
.proj-card .ph{display:flex;align-items:center;gap:13px}
.proj-card .proj-ava{width:46px;height:46px;border-radius:12px;font-size:15px}
.proj-card .nm{font-family:var(--f-head);font-weight:700;font-size:16px}
.proj-card .tgl{font-size:12.5px;color:var(--tx-soft)}
.proj-card .chs{display:flex;gap:6px;margin-top:15px;flex-wrap:wrap;align-items:center}
.proj-card.cur{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand),var(--sh)}
.proj-card .badge-cur{margin-left:auto;font-size:11px;font-weight:600;color:var(--brand-700);font-family:var(--f-head);background:var(--brand-50);padding:4px 9px;border-radius:var(--r-pill)}
