/* BGN-BGN · дополнения к style.css макетов для живого приложения.
   style.css — копия Макеты/style.css один в один; всё новое — здесь,
   чтобы при обновлении макетов файл можно было просто заменить. */

/* ссылки и кнопки-формы в каркасе выглядят как в макете */
.logo{color:inherit}
a.task-t{color:var(--ink);display:block}
a.task-t:hover{color:var(--blue)}
.next h2 a{color:#fff}
.task-x form,.next .acts form{display:inline-flex}
button.btn{cursor:pointer}
a.search,a.pill{color:inherit}
a.av{text-decoration:none}
.side-foot .grow{flex:1;min-width:0}
.side-foot .grow b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.logout button{font-size:12px;font-weight:700;color:var(--grey);padding:6px 4px}
.logout button:hover{color:var(--ink)}
.fb-line:hover{color:var(--ink)}
.tab{color:var(--grey)}
a.input{text-decoration:none}

/* мелочи для блоков «Сегодня» */
.sec-first{margin-top:0}
.line-b{border-bottom:1px solid var(--line2)}
.line-t{border-top:1px solid var(--line2);padding:12px 16px}
.bignum.blue{color:var(--blue)}
.bignum.green{color:var(--green)}
.pad-x{padding-left:18px;padding-right:18px}
.kv.pad-x+.kv.pad-x{border-top:1px solid var(--line2)}
.ink{color:var(--ink)}
.more-link{justify-content:center;color:var(--blue);font-weight:800;border-top:1px solid var(--line2)}
.empty.flat{padding:0}
.gap-top{margin-top:22px}

/* «Ещё» на телефоне */
.more-list{padding:8px}
.more-list .nav-i{padding:13px 12px;font-size:16px}
.more-fb{margin-top:18px;padding-left:4px}

/* формы */
.form textarea{width:100%;margin-top:10px;border:0;border-radius:14px;box-shadow:inset 0 0 0 1.5px var(--line);background:#fff;
  padding:12px 14px;font:500 15px/1.45 "Manrope",system-ui,sans-serif;color:var(--ink);resize:vertical}
.form textarea:focus{outline:none;box-shadow:inset 0 0 0 2px var(--blue)}
.row-acts{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap}

/* вход и короткие сообщения без меню */
body.solo{min-height:100vh;display:grid;place-items:center;padding:24px 16px}
.solo-box{width:100%;max-width:460px;background:var(--card);border-radius:24px;box-shadow:0 0 0 1px var(--line);padding:30px 28px 26px}
.solo-box .logo{padding:0 0 22px}
.solo-box .h1{font-size:26px}
.solo-btn{width:100%;margin-top:22px;height:52px;border-radius:26px;font-size:16px}
.solo-btn.is-off{color:var(--grey2);cursor:default}
.solo-foot{margin-top:16px}
.note-box{margin-top:18px;padding:14px 16px;border-radius:14px;background:var(--paper2);font-weight:600;color:var(--ink);line-height:1.45}
.note-box.warn{background:var(--orange-t);color:var(--orange-d)}

@media (max-width:899px){
  /* в макете на телефоне скрыта первая кнопка (галочка); у нас кнопки внутри форм */
  .task-x form:first-child .icon-btn{display:none}
  .task-x form+form .icon-btn:first-child{display:grid}
  .next .acts form{flex:1}
  .next .acts form .btn{width:100%}
  .solo-box{padding:24px 18px 22px}
}

/* ======================= этап 1: экраны ======================= */
.ink{color:var(--ink)}
a.ink:hover{color:var(--blue)}
.gap-s{margin-top:12px}
.head-row{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap}
.crumbs{margin-bottom:10px}
.prose{white-space:pre-wrap;overflow-wrap:anywhere}
.card.pad.prose{font-size:15.5px;line-height:1.55;font-weight:500}

/* поля форм */
.f-in{display:block;width:100%;min-height:46px;border:0;border-radius:23px;box-shadow:inset 0 0 0 1.5px var(--line);background:#fff;padding:0 18px;
  font:500 15px/1.3 "Manrope",system-ui,sans-serif;color:var(--ink);appearance:none;-webkit-appearance:none}
select.f-in{padding-right:38px;background:#fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b6b72' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'><path d='M6 9l6 6 6-6'/></svg>") no-repeat right 14px center/16px}
.f-in:focus,.form textarea:focus{outline:none;box-shadow:inset 0 0 0 2px var(--blue)}
input[type=date].f-in{min-width:0}
.f-l{display:block;font-size:13px;font-weight:700;color:var(--grey);margin:16px 4px 6px}
.form>.f-l:first-child{margin-top:0}
.f-err{margin-top:8px;color:var(--orange-d);font-weight:700;font-size:14px}
.form .sub{margin-top:8px}
.form textarea{margin-top:0}
.opts{display:flex;flex-wrap:wrap;gap:8px}
.opt-r{position:relative;display:inline-flex;cursor:pointer}
.opt-r input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.opt-r span{display:inline-flex;align-items:center;height:40px;padding:0 15px;border-radius:20px;background:#fff;box-shadow:inset 0 0 0 1.5px var(--line);font-weight:700;font-size:14px;color:var(--ink)}
.opt-r input:checked+span{background:var(--ink);color:#fff;box-shadow:none}
.opt-r input:focus-visible+span{outline:2px solid var(--blue);outline-offset:2px}
.drop .opt-r span{background:rgba(255,255,255,.12);color:#fff;box-shadow:none;height:34px;border-radius:17px;padding:0 14px}
.drop .opt-r input:checked+span{background:#fff;color:var(--ink)}
.drop textarea.field{display:block;width:calc(100% - 0px);border:0;font-family:inherit;resize:vertical}
.drop textarea.field:focus{outline:2px solid var(--blue-t2)}
.own-d{margin-top:10px;max-width:220px}
.more-d{margin-top:18px}
.more-d summary,.edit-d summary,.side-d summary,.mv-s summary,.fdet summary{cursor:pointer;list-style:none;font-weight:800;font-size:14.5px}
.more-d summary::-webkit-details-marker,.edit-d summary::-webkit-details-marker,.side-d summary::-webkit-details-marker,.mv-s summary::-webkit-details-marker,.fdet summary::-webkit-details-marker,.mv summary::-webkit-details-marker,.idea-d summary::-webkit-details-marker{display:none}
.more-d summary,.edit-d summary,.mv-s summary{color:var(--blue)}
.edit-d summary::after,.more-d summary::after{content:" ▾"}
.edit-f{margin-top:14px}
.seg a{height:38px;padding:0 18px;border-radius:19px;display:inline-flex;align-items:center;gap:8px;font-weight:700;color:var(--grey);white-space:nowrap}
.seg a.on{background:#fff;color:var(--ink);box-shadow:0 1px 2px rgba(26,26,31,.08),0 0 0 1px var(--line)}
.inline-add{display:flex;gap:8px;margin-top:12px;align-items:center;flex-wrap:wrap}
.inline-add .f-in{flex:1;min-width:140px}
.inline-add.stack-m{align-items:stretch}
.chk-sec{font-size:12.5px;font-weight:800;color:var(--grey);text-transform:uppercase;letter-spacing:.05em;margin:12px 0 2px}

/* сетка */
a.mx-p,a.cell.lnk,a.pl,.streams a{color:inherit}
a.cell.lnk:hover,a.mx-p:hover{box-shadow:0 0 0 1.5px var(--blue)}
.cname{font-size:13px;font-weight:700;color:var(--grey);margin-top:6px}
.streams a{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;padding:5px 8px;border-radius:9px;background:var(--paper)}
.streams a span{flex:1;min-width:0}
.streams a b{font:600 13px/1 "Unbounded"}
.streams a:hover{background:var(--blue-t)}
.pcard-h .ink b{color:inherit}
.foot-t{font:600 16px/1.3 "Unbounded";letter-spacing:-.01em}
a.cell.empty-c{color:var(--grey)}
a.cell.empty-c:hover{border-color:var(--blue)}

/* проект и поток */
.strm-dir{display:flex;align-items:center;gap:8px;font-weight:800;font-size:13.5px;margin:14px 0 2px}
.strm-dir:first-child{margin-top:0}
.linkrow.strm{color:var(--ink)}
.linkrow.strm:hover .grow{color:var(--blue)}
.grp-t{font:600 15px/1.3 "Unbounded";letter-spacing:-.01em;margin:18px 2px 8px;display:flex;gap:8px;align-items:center}
.grp-t .cnt{font:700 13px/1 "Manrope";color:var(--grey);background:var(--paper2);border-radius:10px;padding:4px 8px}
.grp-t a{color:var(--ink)}
.kan{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;align-items:start}
.kcol{background:var(--paper2);border-radius:18px;padding:8px;min-height:140px}
.kcol .g-n{display:block;color:var(--ink)}
.kcol .g-n:hover{color:var(--blue)}
.funnel a{flex:none;height:44px;border-radius:22px;padding:0 14px;display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:15px;background:#fff;box-shadow:inset 0 0 0 1px var(--line);color:var(--ink)}
.funnel a b{font:600 15px/1 "Unbounded"}
.funnel a.on{background:var(--ink);color:#fff;box-shadow:none}
.tabs-m{display:none}

/* список задач и фильтры */
.views{margin:20px 0 14px}
.views .chip.big.proj{color:var(--ink)}
.fdet>summary{display:none}
.filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 14px;align-items:end}
.filters label{display:block;font-size:12.5px;font-weight:700;color:var(--grey)}
.filters label .f-in{margin-top:5px;min-height:42px;border-radius:21px}
.filters .f-wide{grid-column:span 2}
.f-acts{display:flex;gap:8px;align-items:center}
.chk-f{grid-column:auto}
.chk-f span{margin-top:0}
.h2.grp.past{color:var(--orange-d)}
.task.is-closed .task-t{color:var(--grey);text-decoration:line-through;text-decoration-color:#bdb8ad}
.ring.done svg{margin:auto}
.task-x{position:relative}

/* «Перенести» без скриптов */
details.mv{position:relative}
details.mv>summary{list-style:none;cursor:pointer}
details.mv .resched{margin-top:0;background:#fff;gap:6px}
details.mv.row .resched{position:absolute;right:0;top:48px;z-index:40;width:290px;padding:12px;border-radius:16px;box-shadow:0 14px 34px -10px rgba(26,26,31,.3),0 0 0 1px var(--line)}
details.mv.row:not([open]) .resched{display:none}
details.mv.lead{display:block;flex:1 1 auto}
details.mv.lead>summary{width:100%}
details.mv.lead .resched{margin-top:12px;background:rgba(255,255,255,.96);color:var(--ink)}
.next .acts details.mv{flex:1 1 140px}
.own-day{display:flex;gap:8px;width:100%;align-items:center}
.own-day .f-in{flex:1;min-width:0;min-height:38px;border-radius:19px;padding:0 12px}
.resched button.chip{cursor:pointer}
.resched .lbl{color:var(--grey)}
.resched.form{display:block}
.resched.form .f-in{margin-bottom:6px}
.resched.form .lbl{padding:8px 4px 4px}
.resched.form .opts{margin-bottom:4px}
.resched.form .opt-r span{height:36px;font-size:13.5px}
.resched.form .own-d{max-width:none}

/* задача изнутри */
.check{align-items:center}
form.check{margin:0}
.check button.bx{cursor:pointer;border:0;padding:0}
.check.on button.bx,.check.on span.bx{background:var(--green);box-shadow:none;color:#fff}
.check button.bx:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.cmt-form{display:flex;gap:10px;align-items:flex-end;margin-top:12px}
.cmt-form textarea{flex:1;min-width:0;border:0;border-radius:18px;box-shadow:inset 0 0 0 1.5px var(--line);background:#fff;padding:12px 14px;font:500 15px/1.45 "Manrope",system-ui,sans-serif;color:var(--ink);resize:vertical}
.cmt-form textarea:focus{outline:none;box-shadow:inset 0 0 0 2px var(--blue)}
.icon-btn.send{background:var(--ink);color:#fff;box-shadow:none;flex:none;cursor:pointer}
.close-box .f-in{margin:12px 0;border-radius:14px;min-height:48px}
.close-box .two{display:flex;gap:8px;flex-wrap:wrap}
.close-box .two .btn{flex:1}
.close-box.wait-box,.close-box.done-box{background:#fff;color:var(--ink);box-shadow:0 0 0 1.5px var(--orange)}
.close-box.done-box{box-shadow:0 0 0 1.5px var(--green)}
.close-box.wait-box p,.close-box.done-box p{color:var(--grey)}
.close-box.done-box .res{background:var(--paper);border-radius:12px;padding:10px 12px;margin:10px 0;font-weight:600;font-size:14.5px;overflow-wrap:anywhere}
.close-box.done-box .btn-wline{box-shadow:inset 0 0 0 1.5px var(--line);color:var(--ink)}
.meta .kv a{font-weight:700}
.note-box{margin-top:18px}

/* гости */
.g-n{display:block;color:var(--ink)}
a.g-n:hover{color:var(--blue)}
.g-act button{flex:1;white-space:nowrap;padding:0 6px;height:32px;border-radius:16px;display:grid;place-items:center;font-size:12.5px;font-weight:800;cursor:pointer}
.g-act .yes{background:var(--blue);color:#fff}.g-act .not{box-shadow:inset 0 0 0 1.5px var(--line);color:var(--grey);background:#fff}
.g-act{display:flex;gap:6px;margin-top:9px}
.g-who{font-size:12px;font-weight:700;color:var(--grey);margin-top:8px}
.mv-s{margin-top:10px}
.mv-s summary{font-size:13px}
.mv-s form:not(.edit-f){display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.mv-s .chip{cursor:pointer;background:var(--paper2);height:30px}
.mv-s .chip:hover{background:var(--blue-t)}
.side-d{margin-top:14px}
.side-d .kv{border-top:1px solid var(--line2)}
.side-d .kv:first-of-type{margin-top:10px}
.funnel a{text-decoration:none}
.tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}
a.gtile{display:flex;gap:14px;padding:16px;color:var(--ink)}
a.gtile:hover{box-shadow:0 0 0 1.5px var(--blue)}
.tile-b{min-width:0}
.tile-b b{display:block;font-weight:800;font-size:15.5px;line-height:1.3}
.tile-b small{display:block;color:var(--grey);font-weight:600;font-size:13px;margin:2px 0 8px}
.tile-s{margin-top:10px;font-size:13px;font-weight:700;color:var(--amber)}
.tile-s.ok{color:var(--green)}
.p-photo.sm{width:56px;height:56px;font-size:19px}
.p-photo.sm::after{display:none}
.cards-f{grid-template-columns:minmax(0,2fr) minmax(0,1fr) auto auto}
.rel-t{font:600 17px/1.3 Unbounded;letter-spacing:-.015em}
.rev+.rev{margin-top:14px;padding-top:14px;border-top:1px solid var(--line2)}
.linkrow .inline-add{margin-top:8px}
a.linkrow{color:var(--ink)}
a.linkrow:hover .grow{color:var(--blue)}
.consent .grow small{display:block;font-weight:600}

/* ойлауты */
.idea-d{display:block}
.idea-d>summary{list-style:none;cursor:pointer;height:40px;border-radius:20px;font-size:14px;padding:0 16px}
.idea-d[open]{flex-basis:100%}
.idea-a .btn.btn-blue,.idea-a .btn.btn-line{display:inline-flex}
.idea-d[open]>summary{margin-bottom:8px;display:inline-flex}

/* настройки */
.ppl-r{display:flex;align-items:center;gap:14px;padding:14px 18px;flex-wrap:wrap}
.ppl-r+.ppl-r{border-top:1px solid var(--line2)}
.ppl-b{flex:1;min-width:160px}
.ppl-b b{display:block;font-weight:800}
.ppl-b small{display:block;color:var(--grey);font-weight:600;font-size:13px}
.ppl-f{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.ppl-f .f-in{width:auto;min-height:40px;border-radius:20px}
.ppl-w{display:flex;gap:6px;flex-wrap:wrap}

@media (max-width:899px){
  .head-row{display:block}
  .filters{grid-template-columns:1fr 1fr}
  .filters .f-wide{grid-column:span 2}
  .fdet>summary{display:flex;width:100%}
  .fdet[open]>summary{margin-bottom:10px}
  .fdet:not([open])>.filters{display:none}
  .kan{display:block}
  .kcol{display:none;background:transparent;padding:0;min-height:0}
  .kcol.is-on{display:block}
  .kcol .col-h{display:none}
  .tabs-m{display:flex}
  .tiles{grid-template-columns:1fr}
  .cards-f{grid-template-columns:1fr 1fr}
  .cards-f .f-wide{grid-column:span 2}
  .task-x{gap:6px}
  .mv.row>summary.icon-btn{display:grid!important;width:44px;height:44px;border-radius:22px}
  details.mv.row .resched{right:-6px;width:min(300px,calc(100vw - 32px))}
  .close-box{padding:18px 16px}
  .opt-r span{height:44px}
  .f-in{min-height:48px}
  .resched button.chip{height:44px}
  .idea-d>summary{height:44px;flex:1}
  .idea-a .idea-d{flex:1 1 auto}
  .ppl-f{width:100%}
  .ppl-f .f-in{flex:1}
  .p-photo.sm{width:48px;height:48px;font-size:17px}
  .cmt-form textarea{font-size:16px}
}
@media (min-width:900px){
  .funnel,.tabs-m{display:none}
}

/* правки по снимкам */
.mx-p .clamp{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.mx-p small:empty{display:none}
.kan{align-items:stretch}
.inline-add.stack-m{flex-direction:column;align-items:stretch}
.inline-add.stack-m .btn{align-self:flex-start}

.form>input[type=hidden]+.f-l{margin-top:0}
.board{align-items:stretch}
@media (max-width:899px){.funnel{overflow-x:auto;scrollbar-width:none}.funnel::-webkit-scrollbar{display:none}}
.next .acts{align-items:flex-start}
.next .acts details.mv.lead{flex:0 0 auto;display:block}
.next .acts details.mv.lead[open]{flex:1 1 100%}
.next .acts details.mv.lead>summary{display:flex;width:auto;height:48px}
@media (max-width:899px){
  .next .acts{align-items:stretch}
  .next .acts details.mv.lead{flex:1 1 0}
  .next .acts details.mv.lead[open]{flex:1 1 100%}
  .next .acts details.mv.lead>summary{width:100%;height:52px}
}
.next details.mv.lead .resched .chip{background:#fff;color:var(--ink);box-shadow:inset 0 0 0 1px var(--line)}
.next details.mv.lead .resched .chip.sel{background:var(--blue);color:#fff;box-shadow:none}
.next .acts details.mv.lead[open]>summary{display:inline-flex;width:auto}
@media (max-width:899px){.next .acts details.mv.lead[open]>summary{display:flex;width:100%}}
@media (max-width:899px){
  .idea-a .idea-d{flex:1 1 0;min-width:0}
  .idea-a .idea-d[open]{flex:1 1 100%}
  .idea-d>summary{display:flex;width:100%;justify-content:center;padding:0 6px}
}

/* PNG-карточки гостей (отдаёт routes/files.js только команде) */
.qg{display:block}
.qg+.qg{margin-top:20px;padding-top:20px;border-top:1px solid var(--line2)}
.qg.has-card{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:22px;align-items:start}
.quote-r{font-weight:600;line-height:1.5;overflow-wrap:anywhere}
a.cardlink{display:block}
.shelf{margin-top:14px}
.shelf a{display:block;flex:none}
img.tile-img{width:64px;height:64px;border-radius:12px;object-fit:cover;object-position:top;box-shadow:0 0 0 1px var(--line);flex:none;background:var(--paper2)}
@media (max-width:899px){
  .qg.has-card{display:block}
  .qg.has-card .cardlink{margin-top:16px}
  .qg .cardpng{max-width:280px}
  img.tile-img{width:56px;height:56px}
}

/* правки по боевым данным */
.clampt{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;min-width:0;overflow-wrap:anywhere}
.g-r .clampt{-webkit-line-clamp:2}
.g-next .clampt{flex:1}
.col-more{margin-top:4px}
.col-more>summary{list-style:none;cursor:pointer;text-align:center;font-weight:800;font-size:13.5px;color:var(--blue);padding:10px;border-radius:12px;background:#fff;box-shadow:0 0 0 1px var(--line);margin-bottom:8px}
.col-more>summary::-webkit-details-marker{display:none}
.col-more[open]>summary{margin-bottom:8px}
.t-h{font-size:30px}.t-h.l{font-size:25px}.t-h.xl{font-size:20px;line-height:1.25}
@media (max-width:899px){.t-h{font-size:26px}.t-h.l{font-size:22px}.t-h.xl{font-size:18px}}
.cell .near{align-items:flex-start}
.cell .near span.nt{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-width:0}
.kv.acc span:last-child{min-width:0;overflow-wrap:anywhere;text-align:right}
.kv.acc span:first-child{text-transform:capitalize}
.g-who{margin-top:6px}
.kv.acc{flex-direction:column;align-items:flex-start;gap:2px}
.kv.acc span:last-child{text-align:left}
a.gtile .p-photo.sm,a.gtile img.tile-img{width:56px;height:56px;font-size:19px;flex:none}
@media (max-width:899px){a.gtile .p-photo.sm,a.gtile img.tile-img{width:56px;height:56px;font-size:19px}}

@media (max-width:899px){
  .pl .s2{font-size:14px;font-weight:600;color:var(--grey);margin-top:2px;line-height:1.35}
  .pl .s2.nr{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
}
