/* ============================================================
   АМБАР · панель управления — общий стиль (дизайн-система)
   ============================================================ */
:root{
  color-scheme:dark;                 /* нативные контролы (select, чекбоксы) — в тёмной теме */
  --bg-0:#0F0F0F;--bg-1:#202020;--bg-2:#282828;
  --accent:#5DD62C;--accent-dark:#337418;--accent-deep:#1E4A0E;
  --text-primary:#F8F8F8;--text-muted:#A8A8A8;--text-on-accent:#0F0F0F;
  --border:#2A2A2A;
  --st-ok:#5DD62C;--st-queue:#9A9A9A;--st-reject:#E0A23A;--st-error:#E45A4A;--st-info:#4FD1C5;
  --font-brand:"Geoform","Jost",sans-serif;--font-body:"Inter",system-ui,sans-serif;
  --r:18px;--r-sm:12px;
}
*{margin:0;padding:0;box-sizing:border-box}
html,body{height:100%}
body{background:var(--bg-0);color:var(--text-primary);font-family:var(--font-body);font-size:15px;line-height:1.45;-webkit-font-smoothing:antialiased;overflow-x:hidden}
::selection{background:var(--accent);color:var(--text-on-accent)}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-thumb{background:#2E2E2E;border-radius:8px}
::-webkit-scrollbar-track{background:transparent}

.app{display:grid;grid-template-columns:250px 1fr;min-height:100vh}

/* ---------- sidebar ---------- */
.side{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;background:linear-gradient(180deg,#121212,#0D0D0D);border-right:1px solid var(--border);padding:1.2rem .9rem}
.side__brand{display:flex;align-items:center;gap:.55rem;font-family:var(--font-brand);font-weight:600;letter-spacing:.06em;font-size:1.25rem;padding:.3rem .5rem 1.1rem}
.side__brand .deg{color:var(--accent)}
.brandmark{display:inline-flex;flex:none;line-height:0}
.brandmark svg{display:block}
/* пока нет ни одного проекта — разделы недоступны (все ведут на создание проекта) */
body.no-projects #nav .nav-link{opacity:.35}
body.no-projects #nav .nav-link.active{opacity:.55}
.side__tag{font-family:var(--font-brand);font-size:.62rem;letter-spacing:.34em;text-transform:uppercase;color:var(--text-muted);padding:0 .5rem 1.2rem;border-bottom:1px solid var(--border)}
.side__nav{display:flex;flex-direction:column;gap:.25rem;margin-top:.9rem}
.nav-link{display:flex;align-items:center;gap:.75rem;padding:.62rem .7rem;border-radius:var(--r-sm);font-size:.92rem;font-weight:500;color:var(--text-muted);cursor:pointer;transition:background .18s,color .18s}
.nav-link svg{width:19px;height:19px;flex:none}
.nav-link:hover{background:var(--bg-2);color:var(--text-primary)}
.nav-link.active{background:var(--accent);color:var(--text-on-accent);box-shadow:0 0 34px rgba(93,214,44,.28)}
.nav-link .idx{margin-left:auto;font-size:.72rem;letter-spacing:.1em;opacity:.55}
.side__foot{margin-top:auto;display:flex;flex-direction:column;gap:.5rem;padding:.9rem .5rem 0;border-top:1px solid var(--border)}
.side__op{display:flex;align-items:center;gap:.6rem;font-size:.8rem;color:var(--text-muted)}
.avatar{width:30px;height:30px;border-radius:50%;background:var(--accent-dark);color:var(--accent);display:grid;place-items:center;font-weight:600;font-size:.8rem}
.muted{color:var(--text-muted)}

/* ---------- main ---------- */
.main{padding:1.4rem 1.8rem 3rem;overflow-y:auto;overflow-x:hidden}
.topbar{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:1.2rem}
.topbar__title{font-family:var(--font-brand);font-weight:600;font-size:1.5rem;text-transform:uppercase;letter-spacing:.02em}
.topbar__sub{color:var(--text-muted);font-size:.85rem;margin-top:.13rem}
.topbar__right{margin-left:auto;display:flex;align-items:center;gap:.9rem;flex-wrap:wrap}
.chip-light{display:inline-flex;align-items:center;gap:.5rem;background:var(--bg-1);border:1px solid var(--border);border-radius:999px;padding:.42rem .8rem;font-size:.82rem;color:var(--text-muted);cursor:pointer}
.chip-light b{color:var(--text-primary);font-weight:500}
.chan-dot{width:9px;height:9px;border-radius:50%;background:#3a3a3a}
.chan-dot.on{background:var(--st-ok);box-shadow:0 0 10px rgba(93,214,44,.55)}
.chan-dot.off{opacity:.35}
.iconbtn{width:38px;height:38px;border-radius:12px;background:var(--bg-1);border:1px solid var(--border);color:var(--text-muted);display:grid;place-items:center;cursor:pointer}
.iconbtn:hover{color:var(--text-primary);border-color:#3a3a3a}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:.6rem;border-radius:14px;border:1px solid transparent;padding:.62rem 1.05rem;font-size:.88rem;font-weight:600;cursor:pointer;transition:transform .15s,box-shadow .2s,background .2s,color .2s}
.btn--primary{background:var(--accent);color:var(--text-on-accent);box-shadow:0 0 26px rgba(93,214,44,.22)}
.btn--primary:hover{box-shadow:0 0 40px rgba(93,214,44,.4)}
.btn--ghost{background:transparent;border-color:var(--border);color:var(--text-primary)}
.btn--ghost:hover{border-color:#3a3a3a;background:var(--bg-2)}
.btn--danger{background:rgba(228,90,74,.14);color:#ff9c95;border-color:rgba(228,90,74,.3)}
.btn--danger:hover{background:rgba(228,90,74,.22)}
.btn .arr{transition:transform .2s}
.btn--primary:hover .arr{transform:translateX(3px)}

/* cards */
.card{background:var(--bg-1);border:1px solid var(--border);border-radius:var(--r);padding:1.1rem 1.15rem;margin-bottom:1rem}
.card__head{display:flex;align-items:center;gap:.6rem;margin-bottom:.9rem}
.card__title{font-family:var(--font-brand);font-weight:600;font-size:1rem;text-transform:uppercase;letter-spacing:.04em}
.card__more{margin-left:auto;font-size:.8rem;color:var(--text-muted)}
.card__more:hover{color:var(--accent)}

/* pills */
.pill{display:inline-flex;align-items:center;gap:.35rem;border-radius:999px;padding:.2rem .55rem;font-size:.7rem;font-weight:500;white-space:nowrap}
.pill i{width:6px;height:6px;border-radius:50%;background:currentColor}
.pill--ok{background:rgba(93,214,44,.14);color:var(--st-ok)}
.pill--queue{background:rgba(154,154,154,.14);color:var(--st-queue)}
.pill--reject{background:rgba(224,162,58,.14);color:var(--st-reject)}
.pill--err{background:rgba(228,90,74,.14);color:#ff9c95}
.pill--info{background:rgba(79,209,197,.12);color:var(--st-info)}

/* stats */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:.9rem;margin-bottom:1rem}
.stat{background:var(--bg-1);border:1px solid var(--border);border-radius:var(--r);padding:1.05rem 1.15rem;display:flex;flex-direction:column;gap:.25rem}
.stat__label{font-size:.78rem;letter-spacing:.04em;color:var(--text-muted)}
.stat__value{font-family:var(--font-brand);font-weight:600;font-size:2rem;line-height:1}
.stat__hint{font-size:.72rem;color:var(--text-muted)}
.stat--hot{background:linear-gradient(150deg,var(--accent-dark),var(--accent-deep));border-color:var(--accent-dark)}
.stat--hot .stat__label,.stat--hot .stat__hint{color:rgba(248,248,248,.75)}
.stat--hot .stat__value{color:var(--accent)}

/* cols */
.cols{display:grid;grid-template-columns:1fr 1.2fr;gap:1rem;align-items:stretch}

/* schedule */
.sched{display:flex;flex-direction:column;gap:.45rem}
.slot{display:grid;grid-template-columns:auto 1fr auto;gap:.8rem;align-items:center;background:var(--bg-0);border:1px solid var(--border);border-radius:var(--r-sm);padding:.7rem .85rem}
.slot.is-lime{border-color:var(--accent-dark);background:linear-gradient(140deg,rgba(51,116,24,.22),rgba(30,74,14,.1))}
.slot__time{font-family:var(--font-brand);font-weight:600;font-size:.9rem;color:var(--accent);letter-spacing:.04em}
.slot__time.grey{color:var(--text-muted)}
.slot__txt{font-weight:500;font-size:.88rem}
.slot__sub{font-size:.74rem;color:var(--text-muted)}

/* moderation */
.mod__bar{display:flex;align-items:center;gap:.6rem;padding:.78rem 1.05rem;border-bottom:1px solid var(--border);background:var(--bg-2);border-radius:var(--r-sm) var(--r-sm) 0 0}
.mod__bar .count{margin-left:auto;font-size:.75rem;color:var(--text-muted)}
.arrows{display:flex;gap:.4rem}
.arrow{width:30px;height:30px;border-radius:9px;background:var(--bg-1);border:1px solid var(--border);color:var(--text-muted);display:grid;place-items:center;cursor:pointer}
.arrow:hover{color:var(--text-primary);border-color:#3a3a3a}
.mod{background:var(--bg-0);border:1px solid var(--border);border-radius:var(--r-sm);overflow:hidden}
.mod__body{display:grid;grid-template-columns:1fr 1.1fr;gap:0}
.mod__col{padding:1.1rem}
.mod__col--orig{border-right:1px solid var(--border)}
.mod-label{font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.5rem}
.media{display:flex;gap:.4rem;margin-bottom:.6rem}
.media .thumb{width:88px;height:88px;border-radius:11px;background:linear-gradient(140deg,#2c3228,#1c2418);border:1px solid var(--border);display:grid;place-items:center;color:var(--text-muted)}
.orig-text{font-size:.92rem;color:var(--text-muted);line-height:1.6;max-height:16em;overflow:auto;white-space:pre-wrap}
.rewrite{font-size:1rem;color:var(--text-primary);line-height:1.6;white-space:pre-wrap}
.mod__foot{display:flex;gap:.5rem;padding:.85rem 1.05rem;border-top:1px solid var(--border);background:var(--bg-2);flex-wrap:wrap}
.mod__hint{font-size:.74rem;color:var(--text-muted);margin-left:auto;align-self:center}

/* dropdown for project switcher */
.menu{position:absolute;background:var(--bg-1);border:1px solid var(--border);border-radius:14px;padding:.4rem;min-width:200px;z-index:30;box-shadow:0 20px 50px rgba(0,0,0,.5)}
.menu .mi{padding:.55rem .7rem;border-radius:10px;font-size:.86rem;color:var(--text-muted);cursor:pointer}
.menu .mi:hover{background:var(--bg-2);color:var(--text-primary)}
.menu .mi.on{color:var(--text-primary);font-weight:600}

/* loading */
.loader{display:grid;place-items:center;padding:3rem;color:var(--text-muted)}

@media (max-width:1000px){.stats{grid-template-columns:repeat(2,1fr)}.cols{grid-template-columns:1fr}}
@media (max-width:760px){.app{grid-template-columns:1fr}.side{position:static;height:auto;flex-direction:row;align-items:center}.side__nav{flex-direction:row;flex-wrap:wrap}.side__tag,.side__foot{display:none}}

/* ================= дополнительные экраны ================= */

/* centered feed column (поиск контента) */
.feed{max-width:820px;margin:0 auto}
.select{display:inline-flex;align-items:center;gap:.6rem;background:var(--bg-2);border:1px solid var(--border);border-radius:12px;padding:.6rem .9rem;font-size:.86rem;color:var(--text-muted)}
.select b{color:var(--text-primary);font-weight:500}
.count-chip{background:rgba(61,191,167,.16);color:#4FD1C5;border-radius:999px;padding:.2rem .6rem;font-weight:600;font-size:.84rem}
.btn--sm{padding:.42rem .82rem;font-size:.8rem}

/* поиск контента: посты */
.posts{display:flex;flex-direction:column;gap:.85rem}
.post{background:var(--bg-1);border:1px solid var(--border);border-radius:14px;overflow:hidden}
.post__head{display:flex;align-items:center;gap:.7rem;padding:.9rem 1rem}
.post__ava{width:44px;height:44px;border-radius:50%;background:linear-gradient(140deg,#33452e,#22301f);display:grid;place-items:center;color:#9fe08a;font-weight:600;font-size:1rem}
.post__name{font-weight:600;color:#8fe2ff;font-size:.94rem}
.post__date{font-size:.72rem;color:var(--text-muted);margin-top:.1rem}
.post__body{padding:.1rem 1rem .6rem}
.post__text{font-size:.9rem;color:#d0d0d0;line-height:1.6;white-space:pre-wrap}
.post__text .more{display:inline-block;color:#8fe2ff;font-size:.84rem;cursor:pointer;margin-top:.35rem}
.post__media{margin-top:.7rem}
.mg{display:grid;gap:3px}
.mg2{grid-template-columns:1fr 1fr}
.mg1{grid-template-columns:1fr}
.mg-thumbs{grid-template-columns:repeat(4,1fr);gap:3px;margin-top:3px}
.ph{position:relative;aspect-ratio:3/2;background:linear-gradient(140deg,#3d4636,#2a3526);overflow:hidden;display:grid;place-items:center;color:rgba(248,248,248,.4)}
.ph.head{aspect-ratio:16/9}
.ph .ico{width:26px;height:26px}
.ph .play{position:absolute;inset:0;display:grid;place-items:center;background:rgba(0,0,0,.18)}
.ph .play::after{content:"";border-style:solid;border-width:12px 0 12px 20px;border-color:transparent transparent transparent rgba(248,248,248,.85)}
.post__footer{display:flex;align-items:center;gap:1rem;padding:.55rem 1rem .7rem;border-top:1px solid var(--border);font-size:.79rem;flex-wrap:wrap}
.pact{display:flex;gap:1rem}
.pact a{color:var(--text-muted)}
.pact a:hover{color:var(--text-primary)}
.pstat{display:flex;gap:.9rem;margin-left:auto;color:var(--text-muted);align-items:center}
.pstat span{display:inline-flex;align-items:center;gap:.28rem;font-size:.82rem}
.pstat b{color:var(--text-primary);font-weight:500}

/* фильтры поиска */
.filters{display:flex;flex-direction:column;gap:.8rem;padding:.2rem .2rem .4rem}
.frow{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
.flabel{font-size:.82rem;color:var(--text-muted);min-width:96px}
.fchip{background:var(--bg-2);border:1px solid var(--border);border-radius:999px;padding:.38rem .8rem;font-size:.78rem;color:var(--text-muted);cursor:pointer}
.fchip:hover{color:var(--text-primary);border-color:#3a3a3a}
.fchip.tog{background:#3DBFA7;color:var(--text-on-accent);border-color:#3DBFA7;font-weight:600}
.tychip{width:38px;height:38px;border-radius:10px;background:var(--bg-2);border:1px solid var(--border);color:var(--text-muted);display:grid;place-items:center}
.tychip:hover{color:var(--text-primary);border-color:#3a3a3a}
.tychip.tog{background:#3DBFA7;color:var(--text-on-accent);border-color:#3DBFA7}
.tychip.dim{opacity:.45}
.check{display:inline-flex;align-items:center;gap:.5rem;font-size:.8rem;color:var(--text-muted);cursor:pointer}
.check input{accent-color:#3DBFA7;width:15px;height:15px}
.link-more{color:#3DBFA7;font-size:.8rem}
.link-more:hover{text-decoration:underline}
.pager{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;margin:1rem 0}
.pg{background:var(--bg-2);border:1px solid var(--border);border-radius:10px;padding:.45rem .7rem;font-size:.82rem;color:var(--text-muted);min-width:36px;text-align:center}
.pg.cur{background:#3DBFA7;color:var(--text-on-accent);border-color:#3DBFA7;font-weight:600}
.pg.dots{background:transparent;border:none}
.pg input{width:80px;background:var(--bg-2);border:1px solid var(--border);border-radius:10px;padding:.45rem .6rem;color:var(--text-primary);font-size:.8rem;text-align:center}
.pg input:focus{outline:none;border-color:#3DBFA7}

/* источники */
.workspace{display:grid;grid-template-columns:340px minmax(0,1fr);gap:1rem;align-items:start}
.folders{display:flex;flex-direction:column;gap:.5rem}
.folder{display:grid;grid-template-columns:auto 1fr auto;gap:.7rem;align-items:center;background:var(--bg-2);border:1px solid var(--border);border-radius:var(--r-sm);padding:.72rem .85rem;cursor:pointer}
.folder:hover{border-color:#414141}
.folder.active{border-color:var(--accent);background:linear-gradient(140deg,rgba(51,116,24,.22),rgba(30,74,14,.1))}
.folder__name{font-weight:500;font-size:.92rem;white-space:nowrap}
.folder__meta{font-size:.74rem;color:var(--text-muted)}
.addrow{display:flex;gap:.6rem;margin-top:.6rem}
.addrow input{flex:1;background:var(--bg-2);border:1px solid var(--border);border-radius:12px;padding:.6rem .85rem;color:var(--text-primary);font-size:.86rem;font-family:inherit;min-width:0}
.addrow input:focus{outline:none;border-color:var(--accent-dark)}
.src-add{display:flex;gap:.6rem;margin-bottom:.9rem}
.src-add input{flex:1;background:var(--bg-2);border:1px solid var(--border);border-radius:12px;padding:.6rem .85rem;color:var(--text-primary);font-size:.86rem;font-family:inherit}
.src-add input:focus{outline:none;border-color:var(--accent-dark)}
.src{display:grid;grid-template-columns:auto 1fr auto;gap:.8rem;align-items:center;background:var(--bg-2);border:1px solid var(--border);border-radius:var(--r-sm);padding:.78rem .9rem;margin-bottom:.5rem}
.src__name{font-weight:500;font-size:.9rem}
.src__link{font-size:.76rem;color:var(--text-muted);word-break:break-all}
.src__stats{font-size:.74rem;color:var(--text-muted);margin-top:.3rem}
.src__right{display:flex;align-items:center;gap:.6rem}
.dot{width:9px;height:9px;border-radius:50%}
.dot.ok{background:var(--st-ok);box-shadow:0 0 10px rgba(93,214,44,.5)}
.dot.warn{background:var(--st-reject)}
.toggle{width:42px;height:24px;border-radius:999px;background:#333;border:1px solid var(--border);position:relative;cursor:pointer;flex:none}
.toggle::after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#aaa;transition:all .18s}
.toggle.on{background:var(--accent-dark)}
.toggle.on::after{left:20px;background:var(--accent)}

/* модерация: полноэкранная */
.mod-page{display:grid;grid-template-columns:340px minmax(0,1fr);gap:1rem;align-items:stretch}
.queue{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:.5rem;max-height:calc(100vh - 15rem)}
.qitem{background:var(--bg-2);border:1px solid var(--border);border-radius:var(--r-sm);padding:.78rem .85rem;cursor:pointer}
.qitem:hover{border-color:#414141}
.qitem.active{border-color:var(--accent);background:linear-gradient(140deg,rgba(51,116,24,.22),rgba(30,74,14,.1))}
.qitem__title{font-weight:600;font-size:.9rem}
.qitem__meta{font-size:.76rem;color:var(--text-muted);margin-top:.4rem}
.detail{background:var(--bg-1);border:1px solid var(--border);border-radius:var(--r)}
.detail__bar{display:flex;align-items:center;gap:.6rem;padding:.7rem 1rem;border-bottom:1px solid var(--border);background:var(--bg-2);border-radius:var(--r) var(--r) 0 0;flex-wrap:wrap}
.detail__body{display:grid;grid-template-columns:1fr 1.1fr;gap:0}
.detail__col{padding:1.2rem}
.detail__col--orig{border-right:1px solid var(--border)}
.gallery{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.7rem}
.gallery .thumb{width:96px;height:96px;border-radius:12px;background:linear-gradient(140deg,#2c3228,#1c2418);border:1px solid var(--border);display:grid;place-items:center;color:var(--text-muted)}
.modal-label{font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.5rem}
.detail__foot{display:flex;gap:.5rem;padding:.8rem 1rem;border-top:1px solid var(--border);background:var(--bg-2);border-radius:0 0 var(--r) var(--r);flex-wrap:wrap;align-items:center}
.mod-hint{font-size:.74rem;color:var(--text-muted);margin-left:auto}
.chan-targets{display:flex;gap:.4rem;margin-top:.7rem;flex-wrap:wrap}
.chan-target{display:inline-flex;align-items:center;gap:.4rem;background:var(--bg-2);border:1px solid var(--border);border-radius:999px;padding:.28rem .6rem;font-size:.74rem;color:var(--text-muted)}
.chan-target i{width:7px;height:7px;border-radius:50%;background:var(--st-ok)}

/* контент-план */
.months{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem}
.mon{padding:.6rem}
.mon.cur{border:1px solid var(--accent-dark);border-radius:14px;background:linear-gradient(140deg,rgba(51,116,24,.14),rgba(30,74,14,.06))}
.mon__name{font-family:var(--font-brand);font-weight:600;font-size:.95rem;text-transform:uppercase;letter-spacing:.04em;text-align:center;margin:0 auto .5rem}
.mon__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;text-align:center}
.mon__dow{font-size:.62rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);padding:.2rem 0}
.day{font-size:.74rem;color:var(--text-muted);padding:.3rem 0;border-radius:8px}
.day.today{background:var(--accent);color:var(--text-on-accent);font-weight:600}
.day.blank{color:transparent}
.mon.faded{opacity:.42}
.slots{display:grid;grid-template-columns:repeat(4,1fr);gap:.7rem}
.pcard{background:var(--bg-1);border:1px solid var(--border);border-radius:var(--r-sm);padding:.9rem;display:flex;flex-direction:column;gap:.55rem}
.pcard__top{display:flex;align-items:center;justify-content:space-between;gap:.5rem}
.pcard__time{font-family:var(--font-brand);font-weight:600;font-size:1.1rem}
.pcard__cat{border-radius:999px;padding:.18rem .55rem;font-size:.68rem;font-weight:600;white-space:nowrap}
.rc--news{background:rgba(90,156,255,.18);color:#7fb3ff}
.rc--ent{background:rgba(93,214,44,.18);color:#8fe95e}
.rc--humor{background:rgba(177,140,245,.2);color:#c6a8ff}
.rc--inc{background:rgba(224,162,58,.18);color:#ecc279}
.pcard__title{font-size:.9rem;line-height:1.4;font-weight:500}
.pcard.empty{background:transparent;border:1px dashed var(--border);align-items:center;text-align:center;justify-content:center;color:var(--text-muted)}
.pcard.empty:hover{border-color:var(--accent-dark);color:var(--text-primary)}
.pcard.empty .plus{width:40px;height:40px;border-radius:50%;border:1px solid var(--border);display:grid;place-items:center;margin:0 auto .4rem}
.pcard.empty .hint{font-size:.74rem;max-width:20ch;margin:0 auto}

/* публикации таблица */
table{width:100%;border-collapse:collapse;font-size:.84rem}
th{text-align:left;font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);font-weight:500;padding:.6rem .6rem;border-bottom:1px solid var(--border)}
td{padding:.7rem .6rem;border-bottom:1px solid var(--border);vertical-align:top}
tr:hover td{background:rgba(255,255,255,.02)}
.cell-time{white-space:nowrap;color:var(--text-muted)}
.cell-post .t{font-weight:500}
.cell-post .s{font-size:.74rem;color:var(--text-muted)}
.link{color:var(--accent);font-size:.78rem}

/* настройки */
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
.field{display:flex;flex-direction:column;gap:.4rem}
.field label{font-size:.78rem;color:var(--text-muted)}
.field input{background:var(--bg-2);border:1px solid var(--border);border-radius:12px;padding:.6rem .85rem;color:var(--text-primary);font-size:.86rem;font-family:inherit;width:100%}
.field input:focus{outline:none;border-color:var(--accent-dark)}
.field--full{grid-column:1 / -1}
.help{font-size:.72rem;color:#6a6a6a}
.row-switch{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:var(--bg-0);border:1px solid var(--border);border-radius:var(--r-sm);padding:.8rem .9rem}
.row-switch .t{font-weight:500;font-size:.9rem}
.row-switch .s{font-size:.76rem;color:var(--text-muted)}
.chips{display:flex;gap:.4rem;flex-wrap:wrap}
.chip{display:inline-flex;align-items:center;gap:.4rem;background:var(--bg-2);border:1px solid var(--border);border-radius:999px;padding:.3rem .7rem;font-size:.78rem;color:var(--text-muted)}
.chip.tog{background:rgba(93,214,44,.14);border-color:var(--accent-dark);color:#c8f7b2}
.opt-row{display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:var(--text-muted);padding:.4rem 0;cursor:pointer}
.opt-row input{accent-color:var(--accent);width:15px;height:15px}
.mi input{accent-color:var(--accent);width:15px;height:15px}
input[type="checkbox"]{accent-color:var(--accent)}

/* модал создания поста */
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.62);backdrop-filter:blur(4px);display:none;align-items:center;justify-content:center;z-index:60;padding:1rem}
.modal-overlay.show{display:flex}
.modal{background:var(--bg-1);border:1px solid var(--border);border-radius:var(--r);width:min(960px,100%);max-height:92vh;display:flex;flex-direction:column;box-shadow:0 30px 80px rgba(0,0,0,.5)}
.modal__head{display:flex;align-items:center;gap:.6rem;padding:1rem 1.2rem;border-bottom:1px solid var(--border)}
.modal__title{font-family:var(--font-brand);font-weight:600;font-size:1.05rem;text-transform:uppercase;letter-spacing:.04em}
.modal__close{margin-left:auto;width:34px;height:34px;border-radius:10px;background:var(--bg-2);border:1px solid var(--border);color:var(--text-muted)}
.modal__body{display:grid;grid-template-columns:1.4fr 1fr;gap:0;overflow:auto;min-height:0}
.editor{padding:1.1rem 1.2rem;border-right:1px solid var(--border)}
.rubric{border-radius:999px;padding:.2rem .6rem;font-size:.72rem;font-weight:600}
.rtextarea{width:100%;min-height:150px;background:var(--bg-0);border:1px solid var(--border);border-radius:12px;padding:.8rem .9rem;color:var(--text-primary);font-size:.92rem;line-height:1.5;resize:vertical;font-family:inherit}
.rtextarea:focus{outline:none;border-color:var(--accent-dark)}
.rcount{text-align:right;font-size:.72rem;color:var(--text-muted);margin-top:.35rem}
.rtoolbar{display:flex;gap:.4rem;align-items:center;color:var(--text-muted);font-size:1.05rem}
.attach-head{display:flex;align-items:center;justify-content:space-between;margin:1rem 0 .5rem;font-family:var(--font-brand);text-transform:uppercase;font-size:.82rem;letter-spacing:.04em}
.dropzone{min-height:150px;border:1.5px dashed var(--border);border-radius:14px;display:grid;place-content:center;gap:.6rem;justify-items:center;text-align:center;color:var(--text-muted);padding:1rem;line-height:1.5}
.side-panel{padding:1.1rem 1.2rem}
.sp-title{display:flex;align-items:center;gap:.4rem;font-family:var(--font-brand);text-transform:uppercase;font-size:.82rem;letter-spacing:.04em;margin-bottom:.8rem}
.sp-select{display:flex;align-items:center;gap:.6rem;background:var(--bg-0);border:1px solid var(--border);border-radius:12px;padding:.7rem .9rem;margin-bottom:.8rem}
.sp-select .nm{font-weight:500;font-family:var(--font-brand);letter-spacing:.04em}
.sched{background:var(--bg-0);border:1px solid var(--border);border-radius:14px;padding:.8rem .9rem;margin:.4rem 0 .8rem}
.sched__hdr{display:flex;align-items:center;justify-content:space-between;font-family:var(--font-brand);font-size:.85rem;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.5rem}
.sched__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;text-align:center;font-size:.72rem;color:var(--text-muted)}
.sched__grid .d{padding:.22rem 0;border-radius:6px}
.sched__grid .d.hl{background:var(--accent);color:var(--text-on-accent);font-weight:600}
.sched__time{display:flex;align-items:center;gap:.5rem;margin-top:.5rem;flex-wrap:wrap}
.sched__time select{background:var(--bg-2);border:1px solid var(--border);border-radius:9px;padding:.4rem .6rem;color:var(--text-primary);font-size:.82rem}
.sched__time .lnk{font-size:.76rem;color:var(--text-muted)}
.modal__foot{display:flex;align-items:center;gap:.6rem;padding:.9rem 1.2rem;border-top:1px solid var(--border);background:var(--bg-2);border-radius:0 0 var(--r) var(--r);flex-wrap:wrap}
.mfoot-note{font-size:.76rem;color:var(--text-muted);margin-right:auto}

@media (max-width:1100px){.mod-page{grid-template-columns:1fr}.detail__body{grid-template-columns:1fr}.detail__col--orig{border-right:none;border-bottom:1px solid var(--border)}.months{grid-template-columns:1fr}.slots{grid-template-columns:repeat(3,1fr)}}
@media (max-width:900px){.workspace{grid-template-columns:1fr}.slots{grid-template-columns:repeat(2,1fr)}.fgrid{grid-template-columns:1fr}}
@media (max-width:820px){.modal__body{grid-template-columns:1fr}.editor{border-right:none;border-bottom:1px solid var(--border)}}
@media (max-width:640px){.slots{grid-template-columns:1fr}}

/* изданий (master-detail в дашборде) */
.editions__scroll{max-height:60vh;overflow-y:auto;display:flex;flex-direction:column;gap:.5rem;padding-right:.2rem}
.edition{display:grid;grid-template-columns:auto 1fr auto;gap:.7rem;align-items:center;background:var(--bg-2);border:1px solid var(--border);border-radius:var(--r-sm);padding:.72rem .85rem;cursor:pointer;transition:border-color .2s}
.edition:hover{border-color:#414141}
.edition.active{border-color:var(--accent);background:linear-gradient(140deg,rgba(51,116,24,.22),rgba(30,74,14,.1));box-shadow:0 0 28px rgba(93,214,44,.12)}
.edition__name{font-weight:500;font-size:.92rem;white-space:nowrap}
.edition__meta{font-size:.74rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.edition__right{display:flex;align-items:center;gap:.5rem}
.netpin{display:grid;grid-template-columns:auto 1fr auto;gap:.7rem;align-items:center;background:var(--bg-2);border:1px solid var(--border);border-radius:var(--r-sm);padding:.72rem .85rem;cursor:pointer}
.netpin.active{border-color:var(--accent);background:linear-gradient(140deg,rgba(51,116,24,.25),rgba(30,74,14,.12))}
.netpin__name{font-weight:600}
.netpin__meta{font-size:.74rem;color:var(--text-muted)}
.addcity{display:flex;align-items:center;justify-content:center;gap:.4rem;background:transparent;border:1px dashed var(--border);border-radius:var(--r-sm);padding:.6rem;font-size:.84rem;color:var(--text-muted);margin-top:.7rem;cursor:pointer;width:100%}
.addcity:hover{color:var(--accent);border-color:var(--accent-dark)}
.chan-status{display:inline-flex;align-items:center;gap:.4rem;border-radius:999px;padding:.18rem .55rem;font-size:.7rem;font-weight:600}
.chan-status.on{background:rgba(93,214,44,.16);color:var(--st-ok)}
.chan-status.off{background:rgba(154,154,154,.16);color:var(--st-queue)}
.mod__edit{display:flex;align-items:center;gap:.6rem;padding:.85rem 1.05rem;border-top:1px solid var(--border);background:var(--bg-0);flex-wrap:wrap}
.mod__edit-label{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);white-space:nowrap}
.mod__edit-input{flex:1;min-width:200px;background:var(--bg-2);border:1px solid var(--border);border-radius:11px;padding:.55rem .85rem;color:var(--text-primary);font-size:.86rem;font-family:inherit}
.mod__edit-input:focus{outline:none;border-color:var(--accent-dark);box-shadow:0 0 0 3px rgba(93,214,44,.12)}
.mod__edit-input::placeholder{color:#6a6a6a}
.card__foot{display:flex;gap:.6rem;margin-top:.9rem;flex-wrap:wrap}
.slots-pick{display:flex;flex-wrap:wrap;gap:.4rem}
.slots-pick .chip{cursor:pointer;min-width:3.4em;justify-content:center;text-align:center}
.chip-x{margin-left:.35rem;font-size:.62rem;color:var(--text-muted);vertical-align:middle}
.chip-x:hover{color:var(--st-error)}
.agg{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}
.agg select{background:var(--bg-2);border:1px solid var(--border);border-radius:9px;padding:.45rem .6rem;color:var(--text-primary);font-size:.86rem;cursor:pointer;outline:none}
.agg select:focus{border-color:var(--accent-dark)}
.info{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:var(--bg-2);border:1px solid var(--border);color:var(--text-muted);font-size:.66rem;cursor:pointer;margin-left:.3rem;vertical-align:middle}
.info:hover{color:var(--accent);border-color:var(--accent-dark)}
.info-pop{background:var(--bg-0);border:1px solid var(--border);border-radius:10px;padding:.55rem .65rem;font-size:.76rem;color:var(--text-muted);margin:.35rem 0;line-height:1.45}

/* нативные выпадающие списки — тёмная тема (оставлено для совместимости) */
select{background:var(--bg-2);color:var(--text-primary);border:1px solid var(--border);border-radius:10px;padding:.45rem .6rem;font-family:var(--font-body);font-size:.86rem;cursor:pointer;outline:none;color-scheme:dark}

/* кастомный дропдаун в стиле сайта */
.dd{display:inline-flex;align-items:center;gap:.45rem;background:var(--bg-2);border:1px solid var(--border);border-radius:12px;padding:.55rem .9rem;font-size:.86rem;color:var(--text-muted);cursor:pointer;user-select:none}
.dd:hover{border-color:#3a3a3a}
.dd b{color:var(--text-primary);font-weight:500}
.dd .caret{color:var(--text-muted);font-size:.7rem}
.ddmenu{position:absolute;right:0;top:30px;background:var(--bg-1);border:1px solid var(--border);border-radius:14px;padding:.4rem;min-width:170px;max-height:260px;overflow:auto;z-index:40;box-shadow:0 20px 50px rgba(0,0,0,.5)}
.ddmenu.left{right:auto;left:0}
.ddmenu .mi{padding:.5rem .7rem;border-radius:10px;font-size:.86rem;color:var(--text-muted);cursor:pointer;white-space:nowrap}
.ddmenu .mi:hover{background:var(--bg-2);color:var(--text-primary)}
.ddmenu .mi.on{color:var(--accent);font-weight:600}

/* сворачиваемые блоки настроек */
.card__head{cursor:pointer}
.chev{margin-left:auto;color:var(--text-muted);font-size:.8rem;transition:transform .2s;flex:none}
.card.collapsed .chev{transform:rotate(-90deg)}
.card.collapsed .card__body{display:none}
.card.collapsed{padding-bottom:1.1rem}

/* ---------- экран входа / первого запуска ---------- */
.app.auth-mode{display:block}                      /* без сетки: карточка по центру, а не в колонке сайдбара */
.authwrap{min-height:100vh;display:grid;place-items:center;padding:1.5rem}
.authcard{width:100%;max-width:430px;background:var(--bg-1);border:1px solid var(--border);border-radius:var(--r);padding:1.7rem 1.6rem;box-shadow:0 30px 80px rgba(0,0,0,.45)}
.authcard .abrand{display:flex;align-items:center;gap:.55rem;font-family:var(--font-brand);font-weight:600;font-size:1.5rem;letter-spacing:.06em;line-height:1}
.authcard .asub{color:var(--text-muted);font-size:.8rem;margin:.35rem 0 1.25rem;line-height:1.35}
.authcard .field{margin-bottom:.85rem}
.authcard .field label{font-size:.78rem}
.authcard .field input{width:100%}
.authcard .btn{width:100%;justify-content:center}
.autherr{color:#ff9c95;font-size:.78rem;margin-top:.8rem;min-height:1.1em}

/* секретные поля (токены): маскируем без type=password, чтобы браузер не подставлял логины/пароли */
.secret{-webkit-text-security:disc}
.secret.shown{-webkit-text-security:none}
.eyebtn{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:.82rem;padding:0 .35rem}
.eyebtn:hover{color:var(--text-primary)}

/* ---------- гостевой режим и всплывающие подсказки ---------- */
.guestbar{position:sticky;top:0;z-index:60;display:flex;align-items:center;justify-content:center;gap:.9rem;flex-wrap:wrap;
  background:#16210f;border-bottom:1px solid #2f5a1c;color:#bfe9a3;font-size:.82rem;padding:.55rem .9rem}
#toast{position:fixed;left:50%;bottom:2rem;transform:translateX(-50%) translateY(1.5rem);z-index:120;opacity:0;pointer-events:none;
  background:var(--bg-2);border:1px solid var(--accent-dark);color:var(--text-primary);border-radius:12px;
  padding:.7rem 1.1rem;font-size:.85rem;box-shadow:0 20px 50px rgba(0,0,0,.55);transition:opacity .2s,transform .2s}
#toast.on{opacity:1;transform:translateX(-50%) translateY(0)}
