/* ============================================================================
   Пространство — оформление.
   Фирменный стиль La Casa Larin: бумага, чернила, золото; Oswald для заголовков,
   Golos Text для текста, JetBrains Mono для подписей, Caveat для рукописного.
   Всегда светлое: так же, как сайт студии, по тем же причинам.
   ========================================================================== */
:root{
  --paper:#FAF5EE; --paper-2:#F3EADC; --paper-3:#ECE0CD; --edge:#E3D6BF;
  --card:#FFFFFF;
  --ink:#1A1A17; --ink-2:#3D3A33; --ink-3:#6B6459; --ink-4:#9A9082;
  --gold:#B8924B; --gold-deep:#97733A; --gold-dk:#7A5C2A; --gold-lit:#C8A65A; --gold-wash:#EBDCBB;
  --green:#4E7A46; --green-wash:#E3EDDD;
  --brick:#A6432F; --brick-wash:#F5E1DA;
  --line:rgba(26,26,23,.11); --line-2:rgba(26,26,23,.2);
  --shadow:0 1px 2px rgba(26,26,23,.05), 0 6px 18px rgba(26,26,23,.05);
  --shadow-lg:0 24px 60px rgba(26,26,23,.18);

  --s-nado:var(--ink-2); --s-rabota:var(--gold); --s-zhdyot:var(--brick);
  --s-gotovo:var(--green); --s-otmena:var(--ink-4);

  --display:"Oswald","Helvetica Neue",Arial,sans-serif;
  --body:"Golos Text","Helvetica Neue",Arial,sans-serif;
  --mono:"JetBrains Mono","SF Mono",Menlo,monospace;
  --hand:"Caveat","Bradley Hand",cursive;
  --r:16px; --r-sm:11px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.5 var(--body);
  -webkit-font-smoothing:antialiased;min-height:100vh}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
a{color:var(--gold-dk)}
[hidden]{display:none!important}
::selection{background:var(--gold-wash)}

/* ─── каркас ─────────────────────────────────────────────────────────────── */
.top{position:sticky;top:0;z-index:40;background:rgba(250,245,238,.92);
  backdrop-filter:saturate(1.2) blur(10px);-webkit-backdrop-filter:saturate(1.2) blur(10px);
  border-bottom:1px solid var(--line)}
.top-in{max-width:1320px;margin:0 auto;padding:0 28px;height:68px;display:flex;align-items:center;gap:22px}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--ink);flex:0 0 auto}
.brand img{width:40px;height:40px;object-fit:contain}
.brand b{display:block;font:700 16px/1 var(--display);letter-spacing:.14em;text-transform:uppercase}
.brand i{display:block;margin-top:3px;font:500 9.5px/1 var(--mono);letter-spacing:.2em;text-transform:uppercase;
  color:var(--gold-deep);font-style:normal}
.nav{display:flex;gap:4px;background:var(--paper-2);border:1px solid var(--line);border-radius:999px;padding:4px}
.nav a{display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 16px;border-radius:999px;
  text-decoration:none;color:var(--ink-3);font-weight:600;font-size:14px}
.nav a.on{background:var(--card);color:var(--ink);box-shadow:0 1px 3px rgba(26,26,23,.1)}
.nav a .cnt{font:600 11px/1 var(--mono);background:var(--brick);color:#fff;border-radius:999px;padding:3px 6px}
.top .grow{flex:1 1 auto}
.search{position:relative;flex:0 1 280px}
.search input{width:100%;height:38px;border-radius:999px;border:1px solid var(--line-2);background:var(--card);
  padding:0 14px 0 38px;font-size:14px;outline:none}
.search input:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(184,146,75,.18)}
.search svg{position:absolute;left:13px;top:11px;color:var(--ink-4)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:40px;padding:0 18px;
  border-radius:12px;border:0;font-weight:700;font-size:14px;white-space:nowrap;text-decoration:none;
  transition:transform .1s, box-shadow .1s, background .15s}
.btn-dark{background:var(--ink);color:var(--paper);box-shadow:0 3px 0 var(--gold-deep)}
.btn-dark:active{transform:translateY(2px);box-shadow:0 1px 0 var(--gold-deep)}
.btn-light{background:var(--card);color:var(--ink);border:1.5px solid var(--line-2);box-shadow:0 2px 0 rgba(26,26,23,.08)}
.btn-light:active{transform:translateY(1px);box-shadow:none}
.btn-ghost{background:transparent;color:var(--ink-3);height:34px;padding:0 12px}
.btn-ghost:hover{background:var(--paper-2);color:var(--ink)}
.btn-gold{background:var(--gold);color:var(--ink);box-shadow:0 3px 0 var(--gold-dk)}
.btn-sm{height:32px;padding:0 12px;font-size:13px;border-radius:10px}
.iconbtn{width:36px;height:36px;border-radius:10px;border:0;background:transparent;color:var(--ink-3);
  display:inline-flex;align-items:center;justify-content:center}
.iconbtn:hover{background:var(--paper-2);color:var(--ink)}
.me{position:relative}
.menu{position:absolute;right:0;top:44px;min-width:230px;background:var(--card);border:1px solid var(--line);
  border-radius:14px;box-shadow:var(--shadow-lg);padding:6px;z-index:60}
.menu button{display:flex;width:100%;align-items:center;gap:10px;border:0;background:none;text-align:left;
  padding:10px 12px;border-radius:9px;font-size:14px}
.menu button:hover{background:var(--paper-2)}
.menu .who{padding:10px 12px 8px;font:500 11px/1.4 var(--mono);color:var(--ink-4);letter-spacing:.06em}

main{max-width:1320px;margin:0 auto;padding:30px 28px 120px}
.ey{font:500 11.5px/1 var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--gold-dk);margin:0}
h1,.h1{font:700 44px/1.02 var(--display);letter-spacing:.01em;text-transform:uppercase;margin:10px 0 0}
h2,.h2{font:700 22px/1.1 var(--display);letter-spacing:.03em;text-transform:uppercase;margin:0}
.hand{font-family:var(--hand);font-weight:700;color:var(--gold-deep)}
.muted{color:var(--ink-3)}
.mono{font-family:var(--mono)}
.sec{margin-top:34px}
.sec-h{display:flex;align-items:baseline;justify-content:space-between;gap:14px;margin-bottom:14px}
.sec-h .n{font:600 12px/1 var(--mono);color:var(--ink-4)}

/* ─── «Сегодня» ──────────────────────────────────────────────────────────── */
.hello{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap}
.hello .hand{font-size:28px;line-height:1;transform:rotate(-2deg);display:inline-block;margin-top:6px}
.tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:26px}
.tile{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:18px 20px;
  text-align:left;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:6px;border-top:3px solid var(--c,var(--ink))}
.tile b{font:700 38px/1 var(--display);color:var(--ink)}
.tile span{font-size:13.5px;color:var(--ink-3)}
.tile{text-decoration:none;color:inherit}
.tile:hover{border-color:var(--line-2)}
.today{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:30px;align-items:start}
.side{position:sticky;top:92px}
.plist{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:8px;box-shadow:var(--shadow)}
.plist a{display:grid;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:11px;padding:10px 12px;
  border-radius:10px;text-decoration:none;color:var(--ink)}
.plist a:hover{background:var(--paper)}
.plist .nm{font-weight:600;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.plist .ct{font:500 11.5px/1 var(--mono);color:var(--ink-4)}
.plist .ct em{font-style:normal;color:var(--brick);font-weight:700}
.empty{padding:26px;text-align:center;border:1.5px dashed var(--edge);border-radius:var(--r);color:var(--ink-3)}
.empty .hand{font-size:26px;display:block}

/* ─── карточка задачи ────────────────────────────────────────────────────── */
.tasks{display:flex;flex-direction:column;gap:8px}
.task{position:relative;display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:12px;align-items:start;
  background:var(--card);border:1px solid var(--line);border-radius:var(--r-sm);padding:12px 12px 12px 14px;
  cursor:pointer;transition:border-color .15s, box-shadow .15s, opacity .35s, transform .35s}
.task:hover{border-color:rgba(184,146,75,.6);box-shadow:var(--shadow)}
.task.st-gotovo,.task.st-otmena{background:transparent;border-style:dashed}
.task.st-gotovo .t-title,.task.st-otmena .t-title{color:var(--ink-3);text-decoration:line-through;
  text-decoration-color:rgba(26,26,23,.3)}
.task.leaving{opacity:0;transform:translateY(14px)}
.check{width:22px;height:22px;border-radius:999px;border:2px solid var(--line-2);background:var(--card);
  display:flex;align-items:center;justify-content:center;margin-top:1px;padding:0;color:transparent;
  transition:all .15s}
.check:hover{border-color:var(--green);color:var(--green)}
.st-gotovo .check{background:var(--green);border-color:var(--green);color:#fff}
.st-otmena .check{background:var(--ink-4);border-color:var(--ink-4);color:#fff}
.t-title{font-weight:600;line-height:1.35;word-break:break-word}
.t-meta{display:flex;flex-wrap:wrap;gap:6px 10px;margin-top:6px;align-items:center}
.pdot{width:9px;height:9px;border-radius:999px;background:var(--c,var(--ink-4));flex:0 0 auto;display:inline-block}
.chip{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 9px;border-radius:999px;
  font:500 11.5px/1 var(--mono);background:var(--paper-2);color:var(--ink-3);white-space:nowrap;max-width:100%;overflow:hidden}
/* длинное название (этап «Спринты 1, 3–6: …») — троеточием, а не шире экрана: на телефоне страница уменьшалась целиком (Антон, 27.09) */
.chip .el{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.chip.proj{background:transparent;padding:0;color:var(--ink-2);font-family:var(--body);font-size:12.5px;font-weight:600}
.chip.wait{background:var(--brick-wash);color:var(--brick)}
.chip.wait.other{background:var(--paper-2);color:var(--ink-3)}
.chip.work{background:var(--gold-wash);color:var(--gold-dk)}
.chip.due{background:var(--paper-2)}
.chip.due.late{background:var(--brick);color:#fff}
.chip.hot{background:var(--brick);color:#fff}
.chip.later{background:transparent;color:var(--ink-4);border:1px dashed var(--edge)}
.chip.tag{background:transparent;border:1px solid var(--line);color:var(--ink-3)}
.t-side{display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.age{font:500 11px/1 var(--mono);color:var(--ink-4);white-space:nowrap}
.task .quick{display:flex;gap:6px;opacity:0;transition:opacity .15s}
.task:hover .quick{opacity:1}
.t-wait{margin-top:6px;font-size:13px;color:var(--ink-3)}
.t-wait b{color:var(--brick);font-weight:600}

/* ─── проекты ────────────────────────────────────────────────────────────── */
.phead{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap}
.seg{display:inline-flex;gap:3px;background:var(--paper-2);border:1px solid var(--line);border-radius:999px;padding:3px}
.seg button{height:30px;padding:0 13px;border:0;border-radius:999px;background:none;font-size:13px;font-weight:600;color:var(--ink-3)}
.seg button.on{background:var(--card);color:var(--ink);box-shadow:0 1px 3px rgba(26,26,23,.12)}
.pgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:24px}
.pcard{position:relative;display:flex;flex-direction:column;gap:12px;background:var(--card);border:1px solid var(--line);
  border-radius:20px;padding:22px 22px 18px;text-decoration:none;color:var(--ink);box-shadow:var(--shadow);overflow:hidden;
  transition:transform .15s, box-shadow .15s}
.pcard:before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--c,var(--ink-4))}
.pcard:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(26,26,23,.1)}
.pcard h3{margin:0;font:700 21px/1.1 var(--display);letter-spacing:.03em;text-transform:uppercase}
.pcard .about{font-size:13.5px;color:var(--ink-3);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:40px}
.stage-pill{align-self:flex-start;display:inline-flex;align-items:center;gap:7px;padding:5px 11px;border-radius:999px;
  background:var(--paper-2);font-size:12.5px;font-weight:600;color:var(--ink-2);max-width:100%}
.stage-pill span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bar{height:7px;border-radius:999px;background:var(--paper-3);overflow:hidden}
.bar i{display:block;height:100%;border-radius:999px;background:var(--c,var(--gold))}
.counts{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:13px;color:var(--ink-3)}
.counts b{color:var(--ink);font-weight:700}
.counts .w b{color:var(--brick)}
.plast{font-size:12.5px;color:var(--ink-4);border-top:1px solid var(--line);padding-top:11px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pcard.paused{opacity:.72}

/* ─── проект ─────────────────────────────────────────────────────────────── */
.crumbs{font:500 12px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-4)}
.crumbs a{color:var(--ink-4);text-decoration:none}
.crumbs a:hover{color:var(--ink)}
.proj-top{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-top:14px;flex-wrap:wrap}
.proj-top h1{display:flex;align-items:center;gap:14px}
.proj-top h1 .pdot{width:14px;height:14px}
.proj-about{max-width:760px;margin-top:10px;color:var(--ink-2)}
.proj-facts{display:flex;gap:18px;flex-wrap:wrap;margin-top:10px;font:500 12px/1.4 var(--mono);color:var(--ink-4)}
.stages{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 10px;margin-top:22px;scrollbar-width:thin}
.stg{flex:0 0 auto;display:flex;flex-direction:column;gap:3px;text-align:left;border:1px solid var(--line);
  background:var(--card);border-radius:14px;padding:10px 14px;min-width:150px;max-width:260px}
.stg .nm{font-weight:700;font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stg .sub{font:500 11px/1.3 var(--mono);color:var(--ink-4)}
.stg.on{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}
.stg.cur .sub{color:var(--gold-dk)}
.stg.cur .nm:before{content:"● ";color:var(--gold)}
.stg.fin .nm{color:var(--ink-3)}
.stg.fin .nm:before{content:"✓ ";color:var(--green)}
.stg.add{border-style:dashed;justify-content:center;color:var(--ink-3);min-width:110px;font-weight:600;font-size:13.5px}
.stage-goal{margin-top:6px;padding:14px 18px;border-radius:14px;background:var(--paper-2);border:1px solid var(--edge);
  display:flex;gap:18px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.stage-goal p{margin:0;color:var(--ink-2)}
.tagbar{display:flex;gap:6px;flex-wrap:wrap;margin-top:14px}
.tagbar button{border:1px solid var(--line);background:var(--card);border-radius:999px;height:28px;padding:0 11px;
  font:500 12px/1 var(--mono);color:var(--ink-3)}
.tagbar button.on{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:22px;align-items:start}
.board-m,.bsw{display:none}
.col{background:var(--paper-2);border:1px solid var(--edge);border-radius:18px;padding:12px}
.col-h{display:flex;align-items:center;justify-content:space-between;padding:4px 6px 12px}
.col-h h3{margin:0;display:flex;align-items:center;gap:9px;font:700 14px/1 var(--display);letter-spacing:.08em;text-transform:uppercase}
.col-h h3 i{width:9px;height:9px;border-radius:999px;background:var(--c)}
.col-h .n{font:600 12px/1 var(--mono);color:var(--ink-4)}
.col .task{box-shadow:0 1px 0 rgba(26,26,23,.04)}
.col .empty{padding:18px;font-size:13px}
.quickadd{display:flex;gap:6px;margin-bottom:10px}
.quickadd input{flex:1 1 auto;min-width:0;height:40px;border-radius:11px;border:1.5px dashed var(--edge);background:var(--card);
  padding:0 12px;outline:none;font-size:14px}
.quickadd input:focus{border-style:solid;border-color:var(--gold);box-shadow:0 0 0 3px rgba(184,146,75,.16)}
.done-box{margin-top:26px}
.done-box summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:10px;
  font:700 14px/1 var(--display);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
.done-box summary::-webkit-details-marker{display:none}
.done-box summary:before{content:"▸";color:var(--green);transition:transform .15s}
.done-box[open] summary:before{transform:rotate(90deg)}
.done-box .tasks{margin-top:14px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}

/* ─── лента ──────────────────────────────────────────────────────────────── */
.feed-day{margin-top:26px}
.feed-day h3{margin:0 0 10px;font:700 13px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--gold-dk)}
.ev{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:12px;align-items:start;padding:11px 14px;
  background:var(--card);border:1px solid var(--line);border-radius:12px;margin-bottom:6px}
.ev .ic{width:30px;height:30px;border-radius:999px;display:flex;align-items:center;justify-content:center;
  background:var(--paper-2);color:var(--ink-3);font-size:14px}
.ev.k-done .ic{background:var(--green-wash);color:var(--green)}
.ev.k-wait .ic{background:var(--brick-wash);color:var(--brick)}
.ev.k-new .ic{background:var(--gold-wash);color:var(--gold-dk)}
.ev .tx{min-width:0}
.ev .tx p{margin:0;word-break:break-word}
.ev .tx .by{margin-top:3px;font:500 11.5px/1.3 var(--mono);color:var(--ink-4)}
.ev .tm{font:500 11.5px/1 var(--mono);color:var(--ink-4);white-space:nowrap}
.ev[data-task]{cursor:pointer}
.ev[data-task]:hover{border-color:rgba(184,146,75,.6)}

/* ─── боковая панель задачи ──────────────────────────────────────────────── */
.veil{position:fixed;inset:0;background:rgba(26,26,23,.28);z-index:70;animation:fade .15s}
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(560px,100%);background:var(--paper);z-index:80;
  box-shadow:var(--shadow-lg);display:flex;flex-direction:column;animation:slide .2s ease-out}
@keyframes slide{from{transform:translateX(30px);opacity:.3}to{transform:none;opacity:1}}
@keyframes fade{from{opacity:0}to{opacity:1}}
.dr-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid var(--line)}
.dr-top .where{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--ink-2);min-width:0}
.dr-top .where a{color:inherit;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dr-top .num{font:500 12px/1 var(--mono);color:var(--ink-4)}
.saved{font:500 11.5px/1 var(--mono);color:var(--green);opacity:0;transition:opacity .3s}
.saved.on{opacity:1}
.dr-body{flex:1 1 auto;overflow:auto;padding:20px 22px 40px}
.dr-title{width:100%;border:0;background:transparent;resize:none;outline:none;padding:0;
  font:700 26px/1.15 var(--display);letter-spacing:.01em;color:var(--ink);overflow:hidden}
.fld{margin-top:20px}
.fld>label,.fld .lbl{display:block;margin-bottom:8px;font:500 11px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-4)}
.stseg{display:flex;flex-wrap:wrap;gap:6px}
.stseg button{height:34px;padding:0 13px;border-radius:999px;border:1.5px solid var(--line-2);background:var(--card);
  font-size:13px;font-weight:600;color:var(--ink-3);display:inline-flex;align-items:center;gap:7px}
.stseg button i{width:8px;height:8px;border-radius:999px;background:var(--c)}
.stseg button.on{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.inp,.sel,.area{width:100%;border:1.5px solid var(--line-2);background:var(--card);border-radius:11px;outline:none}
.inp,.sel{height:40px;padding:0 12px;font-size:14px}
.area{padding:10px 12px;font-size:14.5px;line-height:1.55;resize:vertical;min-height:90px}
.inp:focus,.sel:focus,.area:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(184,146,75,.16)}
.who-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}
.who-chips button{height:30px;padding:0 12px;border-radius:999px;border:1px solid var(--line-2);background:var(--card);font-size:13px}
.who-chips button.on{background:var(--brick);border-color:var(--brick);color:#fff}
.src{margin-top:22px;padding:12px 14px;border-radius:12px;background:var(--paper-2);font:500 12px/1.5 var(--mono);color:var(--ink-3);word-break:break-word}
.hist{margin-top:10px;display:flex;flex-direction:column;gap:2px}
.hist .h{display:block;padding:11px 0;border-bottom:1px solid var(--line);font-size:14px}
.hist .hh{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font:500 11px/1.4 var(--mono);color:var(--ink-4);margin-bottom:5px}
.hist .hh .tm{margin-left:auto}
.hist .hk{font:600 10.5px/1 var(--mono);font-style:normal;letter-spacing:.06em;text-transform:uppercase;padding:4px 7px;border-radius:999px;background:var(--paper-2);color:var(--ink-3)}
.hist .rev .hk,.hist .work .hk{background:var(--gold-wash);color:var(--gold-dk)}.hist .fix .hk{background:var(--brick-wash);color:var(--brick)}
.hist .done .hk{background:var(--green-wash);color:var(--green)}
.hist .ntext{line-height:1.5;overflow-wrap:anywhere}.hist .ntext a{color:var(--gold-dk);font-weight:600}
.hist .ntext.clamp{max-height:12.5em;overflow:hidden;-webkit-mask-image:linear-gradient(180deg,#000 65%,transparent);mask-image:linear-gradient(180deg,#000 65%,transparent)}
.hist .hmore{border:0;background:none;color:var(--gold-dk);font-weight:600;font-size:13px;padding:6px 0 0;cursor:pointer}
.hist .sys{padding:7px 0}.hist .sys .hh{margin-bottom:2px}.hist .sys .ntext{font-size:12.5px;color:var(--ink-4)}
.rview{overflow-wrap:anywhere}.rview a{color:var(--gold-dk);font-weight:600}
.hist .h .tm{font:500 11px/1.4 var(--mono);color:var(--ink-4);white-space:nowrap}
.hist .h .by{font:500 11px/1.4 var(--mono);color:var(--ink-4)}
.hist .h.note p{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:8px 10px;margin:4px 0 0}
.note-add{display:flex;gap:8px;margin-top:10px}
.note-add input{flex:1 1 auto}

/* ─── окно (новая задача, проект, этап, код) ─────────────────────────────── */
.modal{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);width:min(620px,calc(100% - 28px));
  max-height:calc(100vh - 40px);overflow:auto;background:var(--paper);border-radius:22px;box-shadow:var(--shadow-lg);
  z-index:90;padding:26px 26px 22px;animation:pop .18s ease-out}
@keyframes pop{from{transform:translate(-50%,-47%);opacity:0}to{transform:translate(-50%,-50%);opacity:1}}
.modal h2{margin-bottom:6px}
.modal .acts{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}
.similar{margin-top:16px;padding:14px 16px;border-radius:14px;background:var(--brick-wash);border:1px solid rgba(166,67,47,.25)}
.similar p{margin:0 0 8px;color:var(--brick);font-weight:600}
.similar a{display:block;padding:4px 0;color:var(--ink-2);text-decoration:none;font-size:14px}
.similar a:hover{text-decoration:underline}
.bigcode{font:700 46px/1 var(--mono);letter-spacing:.2em;text-align:center;margin:18px 0 8px;color:var(--ink)}

/* ─── вход ───────────────────────────────────────────────────────────────── */
.login{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}
.login-card{width:min(440px,100%);background:var(--card);border:1px solid var(--line);border-radius:26px;
  box-shadow:var(--shadow-lg);padding:34px 30px 30px;text-align:center}
.login-card img{width:96px;height:96px;object-fit:contain}
.login-card h1{font-size:34px;margin-top:14px}
.login-card .hand{font-size:24px;display:block;margin-top:4px}
.login-card p{color:var(--ink-3);margin:16px 0 0}
.codebox{display:flex;justify-content:center;margin-top:18px}
.codebox input{width:230px;height:58px;text-align:center;border:1.5px solid var(--line-2);border-radius:14px;
  font:700 28px/1 var(--mono);letter-spacing:.3em;outline:none;background:var(--paper)}
.codebox input:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(184,146,75,.18)}
.login-card .btn{width:100%;margin-top:16px;height:48px;font-size:15px}
.err{color:var(--brick);font-weight:600;margin-top:12px;min-height:22px}

/* ─── всплывающие сообщения ──────────────────────────────────────────────── */
.toasts{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);z-index:100;display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none}
.toast{pointer-events:auto;background:var(--ink);color:var(--paper);padding:11px 16px;border-radius:12px;font-size:14px;
  box-shadow:var(--shadow-lg);display:flex;gap:12px;align-items:center;animation:pop2 .2s ease-out;max-width:min(560px,calc(100vw - 32px))}
.toast button{border:0;background:none;color:var(--gold-lit);font-weight:700;padding:0}
@keyframes pop2{from{transform:translateY(10px);opacity:0}to{transform:none;opacity:1}}

/* ─── нижняя панель на телефоне ──────────────────────────────────────────── */
.tabbar{display:none}

@media (max-width:1100px){
  .today{grid-template-columns:minmax(0,1fr)}
  .board{grid-template-columns:minmax(0,1fr)}
  .side{position:static}
  .pgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:760px){
  body{font-size:15px}
  .top-in{padding:0 16px;height:58px;gap:12px}
  .nav,.top .add-desk,.brand i{display:none}
  .search{flex:1 1 auto}
  main{padding:20px 16px 110px}
  h1,.h1{font-size:32px}
  .tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .tile{padding:14px 16px}
  .tile b{font-size:30px}
  .pgrid{grid-template-columns:minmax(0,1fr)}
  .board{grid-template-columns:minmax(0,1fr)}
  .done-box .tasks{grid-template-columns:minmax(0,1fr)}
  .task .quick{opacity:1}
  .row2{grid-template-columns:minmax(0,1fr)}
  .drawer{top:auto;height:calc(100% - 36px);width:100%;border-radius:22px 22px 0 0;animation:up .22s ease-out}
  @keyframes up{from{transform:translateY(40px);opacity:.3}to{transform:none;opacity:1}}
  .tabbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:50;background:rgba(250,245,238,.96);
    backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid var(--line);
    padding:6px 8px calc(6px + env(safe-area-inset-bottom));justify-content:space-around;align-items:center}
  .tabbar a,.tabbar button{flex:1 1 0;display:flex;flex-direction:column;align-items:center;gap:3px;border:0;background:none;
    text-decoration:none;color:var(--ink-3);font-size:11px;font-weight:600;padding:6px 0;position:relative}
  .tabbar a.on{color:var(--ink)}
  .tabbar .plus{flex:0 0 auto;width:52px;height:52px;border-radius:16px;background:var(--ink);color:var(--paper);
    box-shadow:0 3px 0 var(--gold-deep);margin:0 6px}
  .tabbar .cnt{position:absolute;top:0;left:calc(50% + 6px);font:600 10px/1 var(--mono);background:var(--brick);color:#fff;border-radius:999px;padding:3px 5px}
  /* уведомления — сверху и компактно: внизу их закрывает клавиатура и они налезают на поле ввода */
  .toasts{top:calc(env(safe-area-inset-top) + 8px);bottom:auto;width:calc(100% - 24px)}
  .toast{width:100%;max-width:none;padding:9px 13px;font-size:13.5px;line-height:1.35;border-radius:12px}
  .toast span{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
  @keyframes pop2{from{transform:translateY(-8px);opacity:0}to{transform:none;opacity:1}}
  /* клавиатура открыта — нижнее меню прячем, чтобы не ездило над ней */
  body.kb .tabbar{display:none}
  /* «⋯» сверху дублировал «Ещё» в нижнем меню (Антон, 28.09) — на телефоне оставляем нижнее */
  .top .me{display:none}
  /* доска: одна колонка и переключатель статусов над нижним меню */
  .board{display:none}
  .board-m{display:block;margin-top:18px;padding-bottom:76px}
  .bsw{display:flex;position:fixed;left:8px;right:8px;bottom:calc(74px + env(safe-area-inset-bottom));z-index:45;gap:2px;padding:4px;
    background:rgba(250,245,238,.97);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--line-2);
    border-radius:14px;box-shadow:var(--shadow-lg)}
  .bsw button{flex:1 1 0;min-width:0;border:0;background:none;border-radius:10px;padding:6px 2px;display:flex;flex-direction:column;
    align-items:center;gap:3px;font:600 11px/1.1 var(--body);color:var(--ink-3);white-space:nowrap}
  .bsw button b{font:700 15px/1 var(--mono);color:var(--ink)}
  .bsw button.on{background:var(--ink);color:var(--paper)}.bsw button.on b{color:var(--gold-lit)}
  body.kb .bsw{display:none}
  /* подстраховка: что бы ни оказалось шире экрана, приложение не должно уменьшаться целиком */
  #main{overflow-x:clip}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* ═══ Векторы и «Путь» (27.09) ═══════════════════════════════════════════════
   Вектор — направление работы и зона ответственности (обычно — один чат).
   Цвет вектора — главный цвет задачи: полоса слева на каждой карточке.
   Путь — этапы сверху вниз: что сделано, что идёт, что впереди. */

.task{border-left:4px solid var(--vc,var(--line))}
.task.st-gotovo,.task.st-otmena{border-left-style:solid}
.chip.vch{background:transparent;padding:0;gap:6px;color:var(--ink-2);font-family:var(--body);font-size:12.5px;font-weight:600}
.chip.vch i{width:9px;height:9px;border-radius:3px;background:var(--vc);flex:none}

/* карточки векторов */
.vecs{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;margin-top:22px}
.vec{position:relative;text-align:left;background:var(--card);border:1px solid var(--line);border-radius:16px;
  padding:14px 16px 14px 20px;display:flex;flex-direction:column;gap:6px;cursor:pointer;overflow:hidden;
  transition:box-shadow .15s, opacity .15s, border-color .15s}
.vec:before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:var(--vc)}
.vec:hover{box-shadow:var(--shadow)}
.vec.on{border-color:var(--vc);box-shadow:0 0 0 2px var(--vc)}
.vec.dim{opacity:.45}
.vec b{font:700 15px/1.15 var(--display);letter-spacing:.05em;text-transform:uppercase}
.vec .ab{font-size:13px;color:var(--ink-3);line-height:1.4}
.vec .ld{font:500 11px/1.3 var(--mono);color:var(--ink-4)}
.vec .ct{display:flex;gap:10px;flex-wrap:wrap;font-size:12.5px;color:var(--ink-3);margin-top:2px}
.vec .ct em{font-style:normal;color:var(--brick);font-weight:700}
.vec.add{border-style:dashed;justify-content:center;align-items:center;color:var(--ink-3);font-weight:600}
.vec.add:before{display:none}

.now-line{margin-top:18px;display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 18px;border-radius:14px;
  background:var(--ink);color:var(--paper)}
.now-line .lbl{font:500 11px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--gold-lit)}
.now-line b{font:700 17px/1.2 var(--display);letter-spacing:.03em;text-transform:uppercase}
.now-line span.g{color:#C9C2B4;font-size:14px}

.viewbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:26px}

/* путь по этапам */
.path{position:relative;margin-top:18px;padding-left:34px}
.path:before{content:"";position:absolute;left:12px;top:14px;bottom:14px;width:2px;background:var(--edge);border-radius:2px}
.sblk{position:relative;margin-bottom:14px}
.sblk>summary{list-style:none;cursor:pointer}
.sblk>summary::-webkit-details-marker{display:none}
.sdot{position:absolute;left:-34px;top:14px;width:26px;height:26px;border-radius:999px;display:flex;align-items:center;
  justify-content:center;font-size:13px;font-weight:700;background:var(--card);border:2px solid var(--line-2);color:var(--ink-4)}
.sblk.fin .sdot{background:var(--green);border-color:var(--green);color:#fff}
.sblk.cur .sdot{background:var(--gold);border-color:var(--gold);color:var(--ink);box-shadow:0 0 0 5px rgba(184,146,75,.22)}
.shead{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px 18px;display:flex;
  align-items:center;gap:14px;flex-wrap:wrap}
.sblk.cur .shead{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold)}
.sblk.fin .shead{background:transparent}
.shead .nm{font:700 18px/1.15 var(--display);letter-spacing:.03em;text-transform:uppercase;flex:1 1 280px;min-width:0}
.sblk.fin .shead .nm{color:var(--ink-3)}
.shead .st{font:600 11px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;padding:5px 9px;border-radius:999px;background:var(--paper-2);color:var(--ink-3)}
.sblk.cur .shead .st{background:var(--gold-wash);color:var(--gold-dk)}
.sblk.fin .shead .st{background:var(--green-wash);color:var(--green)}
.shead .pr{font:600 12.5px/1 var(--mono);color:var(--ink-3)}
.vpills{display:flex;gap:6px;flex-wrap:wrap}
.vpill{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 8px;border-radius:999px;background:var(--paper-2);
  font:600 11.5px/1 var(--mono);color:var(--ink-2)}
.vpill i{width:8px;height:8px;border-radius:2px;background:var(--vc)}
.chev{color:var(--ink-4);transition:transform .15s;font-size:14px}
.sblk[open] .chev{transform:rotate(90deg)}
.sbody{padding:14px 4px 6px}
.sgoal{margin:0 0 12px;color:var(--ink-2);font-size:14.5px}
.sgoal b{color:var(--ink)}
.vgroup{margin-top:12px}
.vgroup h4{margin:0 0 8px;display:flex;align-items:center;gap:8px;font:700 13px/1 var(--display);letter-spacing:.08em;
  text-transform:uppercase;color:var(--ink-2)}
.vgroup h4 i{width:10px;height:10px;border-radius:3px;background:var(--vc)}
.vgroup h4 span{font:600 11.5px/1 var(--mono);color:var(--ink-4);letter-spacing:0;text-transform:none}
.sub-h{margin:16px 0 8px;font:600 11px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-4)}
.sdone{margin-top:14px}
.sdone>summary{list-style:none;cursor:pointer;font:600 12px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--green)}
.sdone>summary::-webkit-details-marker{display:none}
.sdone .tasks{margin-top:10px}
.sacts{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.sblk .quickadd{margin-top:12px;margin-bottom:0}

/* проекты: путь точками и полоса векторов */
.pstages{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.pstages i{width:12px;height:12px;border-radius:999px;background:var(--card);border:2px solid var(--line-2)}
.pstages i.fin{background:var(--green);border-color:var(--green)}
.pstages i.cur{background:var(--gold);border-color:var(--gold);box-shadow:0 0 0 3px rgba(184,146,75,.25)}
.pstages span{margin-left:6px;font-size:12.5px;font-weight:600;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.vbar{display:flex;height:8px;border-radius:999px;overflow:hidden;background:var(--paper-3);gap:2px}
.vbar i{display:block;height:100%;background:var(--vc)}
.vleg{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:12px;color:var(--ink-3);margin-top:7px}
.vleg span{display:inline-flex;align-items:center;gap:5px}
.vleg i{width:8px;height:8px;border-radius:2px;background:var(--vc)}

/* выбор вектора в панели задачи */
.vchips{display:flex;flex-wrap:wrap;gap:6px}
.vchips button{display:inline-flex;align-items:center;gap:7px;height:32px;padding:0 12px;border-radius:999px;
  border:1.5px solid var(--line-2);background:var(--card);font-size:13px;font-weight:600;color:var(--ink-2)}
.vchips button i{width:10px;height:10px;border-radius:3px;background:var(--vc)}
.vchips button.on{border-color:var(--vc);box-shadow:0 0 0 2px var(--vc);color:var(--ink)}

@media (max-width:760px){
  .path{padding-left:26px}
  .path:before{left:8px}
  .sdot{left:-26px;width:20px;height:20px;font-size:11px;top:16px}
  .shead{padding:12px 14px}
  .shead .nm{font-size:16px;flex-basis:100%}
  .vecs{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* «Зачем» — одна-две строки прямо на карточке: смысл задачи без клика (27.09) */
.t-why{margin-top:4px;font-size:13.5px;line-height:1.45;color:var(--ink-3);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.fld.sense label{color:var(--gold-dk)}
.fld.sense .area{background:var(--card)}
#f-why{min-height:0;font-size:15px}

/* «Начать в Claude» — под заголовком задачи (27.09) */
.launch{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:2px 0 16px}
.launch .btn svg{margin-right:-2px}
.launch .hint{font-size:12.5px;color:var(--ink-4);line-height:1.3}
.modal .brief{margin-top:14px;font:13px/1.5 var(--mono);min-height:260px}

/* Номера задач — на каждой карточке, в ленте и в панели (27.09): Антон зовёт задачи номерами */
.t-num{display:inline-block;font:600 12px/1 var(--mono);color:var(--gold-dk);letter-spacing:.02em;
  margin-right:8px;white-space:nowrap;vertical-align:1px}
.task.st-gotovo .t-num,.task.st-otmena .t-num{color:var(--ink-4)}
.ev-num{font:600 11.5px/1 var(--mono);color:var(--gold-dk)}
.dr-top .num{font:600 13px/1 var(--mono);color:var(--gold-dk);margin-left:6px}

/* «Отправить в чат» (27.09): точка — слушает ли чат, строка — что стало с отправкой */
.ldot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--ink-4);margin:0 5px 0 2px;vertical-align:0}
.ldot.on{background:var(--moss,#4E7A46)}
.lstate{margin:-8px 0 16px;font:500 12.5px/1.4 var(--mono);color:var(--ink-3)}
.lstate.st-vzyat,.lstate.st-dostavlen{color:var(--moss,#4E7A46)}
.lstate.st-oshibka{color:var(--brick)}

/* Строка «что сейчас с задачей» на карточке (27.09): ушла в чат · идёт работа · сделано */
.t-live{display:flex;align-items:flex-start;gap:7px;margin-top:7px;font:600 12.5px/1.4 var(--body);color:var(--ink-2)}
.t-live i{flex:none;width:8px;height:8px;margin-top:5px;border-radius:50%;background:var(--gold)}
.t-live.work{color:#3F6A38}
.t-live.work i{background:#4E7A46;animation:livepulse 1.8s ease-out infinite}
.t-live.wait{color:var(--gold-dk)}
.t-live.err{color:var(--brick)}
.t-live.err i{background:var(--brick)}
.t-live.done{color:#3F6A38}
@keyframes livepulse{0%{box-shadow:0 0 0 0 rgba(78,122,70,.5)}70%{box-shadow:0 0 0 7px rgba(78,122,70,0)}100%{box-shadow:0 0 0 0 rgba(78,122,70,0)}}
@media (prefers-reduced-motion: reduce){.t-live.work i{animation:none}}

/* Результат задачи и просмотр (27.09): ссылки, снимки, файлы — не уходя из Пространства */
.t-res{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.rchip{border:1px solid var(--gold);background:var(--gold-wash);color:var(--gold-dk);border-radius:999px;padding:4px 11px;
  font:600 12.5px/1.3 var(--body);cursor:pointer;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rchip:hover{background:var(--gold);color:var(--ink)}
.t-live.rev{color:var(--brick)}
.t-live.rev i{background:var(--brick)}
.modal.wide{width:min(1180px,calc(100% - 24px));height:min(92vh,980px);max-height:none;display:flex;flex-direction:column;padding:20px 22px 16px}
.vw-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}
.vw-head h2{margin:6px 0 4px}
.vw-itog{margin:0;font-size:13.5px;line-height:1.45;max-height:4.4em;overflow:auto}
.vw-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0 0}
.vw-bar{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin:10px 0}
.vw-bar .btn{margin-left:auto}
.vw-tabs button,.vw-bar button{border:1px solid var(--line-2);background:var(--card);border-radius:999px;padding:6px 12px;
  font:600 13px/1.2 var(--body);color:var(--ink-2);cursor:pointer}
.vw-tabs button.on,.vw-bar button.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.vw-stage{flex:1;min-height:0;border:1px solid var(--line);border-radius:14px;overflow:auto;background:var(--paper-2)}
.vw-stage .empty{margin:40px auto;max-width:480px}
/* окно чтения текстовых файлов (.md, .txt, .csv) — 28.09 */
.modal.tv .tv-body{flex:1 1 auto;min-height:0;overflow:auto;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px 22px;margin-top:6px}
.modal.tv .acts{margin-top:14px}
.vw-stage .tv-body{min-height:100%;background:var(--card);padding:18px 22px}
.tv-pre{margin:0;white-space:pre-wrap;word-break:break-word;font:13.5px/1.6 var(--mono);color:var(--ink-2)}
.md{font-size:15.5px;line-height:1.6;color:var(--ink);max-width:800px;overflow-wrap:break-word}
.md>:first-child{margin-top:0}
.md h1,.md h2,.md h3,.md h4,.md h5,.md h6{font-family:var(--display);font-weight:500;line-height:1.2;margin:1.3em 0 .5em}
.md h1{font-size:26px}.md h2{font-size:21px}.md h3{font-size:18px}.md h4,.md h5,.md h6{font-size:16px}
.md p{margin:.55em 0}
.md ul,.md ol{margin:.5em 0;padding-left:1.4em}
.md li{margin:.25em 0}
.md li>ul,.md li>ol{margin:.25em 0}
.md blockquote{margin:.8em 0;padding:.3em 0 .3em 14px;border-left:3px solid var(--gold);color:var(--ink-2)}
.md code{font:.88em/1.4 var(--mono);background:var(--paper-2);border-radius:5px;padding:1px 5px}
.md pre{background:var(--paper-2);border-radius:10px;padding:12px 14px;overflow:auto}
.md pre code{background:none;padding:0;font-size:13px}
.md hr{border:0;border-top:1px solid var(--line-2);margin:1.4em 0}
.md a{color:var(--gold-dk)}
.md-tw{overflow-x:auto;margin:.8em 0}
.md table{border-collapse:collapse;font-size:14px}
.md th,.md td{border:1px solid var(--line-2);padding:6px 10px;text-align:left;vertical-align:top}
.md th{background:var(--paper-2);font-weight:600}
[data-tv-copy].ok{background:var(--green-wash);border-color:var(--green);color:var(--green)}
@media (max-width:640px){
  .modal.tv .tv-body,.vw-stage .tv-body{padding:14px}
  .modal.tv .acts{flex-wrap:wrap;padding-bottom:env(safe-area-inset-bottom)}
  .md{font-size:15px}.md h1{font-size:23px}.md h2{font-size:19.5px}
}
.vw-frame{width:100%;height:100%;min-height:420px;border:0;display:block;background:#fff}
.vw-phone{height:100%;display:flex;justify-content:center;padding:16px}
.vw-phone .vw-frame{width:390px;max-width:100%;border-radius:24px;box-shadow:0 0 0 8px #1A1A17}
.vw-shot{display:flex;justify-content:center}
.vw-shot img{max-width:100%;height:auto;display:block;background:#fff}
.vw-shot.phone{padding:16px}
.vw-shot.phone img{width:390px;border-radius:18px;box-shadow:0 0 0 8px #1A1A17}
/* карточка вместо превью: страница Claude, PDF на телефоне — объяснение и большие кнопки */
.vw-card{max-width:540px;margin:48px auto;padding:28px 30px;background:var(--card);border:1px solid var(--line);
  border-top:3px solid var(--gold);border-radius:var(--r);box-shadow:var(--shadow)}
.vw-card h3{font:700 22px/1.15 var(--display);letter-spacing:.03em;text-transform:uppercase;margin:10px 0 8px}
.vw-card p{margin:0 0 18px;color:var(--ink-2)}
.vw-card .btn{height:48px;padding:0 24px;font-size:16px;text-decoration:none}
.vw-card-acts{display:flex;flex-wrap:wrap;gap:10px}
.vw-card ul{margin:20px 0 0;padding-left:18px;color:var(--ink-3);font-size:14px;display:grid;gap:6px}
@media (max-width:640px){.vw-card{margin:12px;padding:20px 18px}.vw-card .btn{width:100%}}
.vw-foot{margin-top:12px;display:grid;gap:8px}
.vw-foot .area{min-height:0}
.vw-acts{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}
@media (max-width:640px){.modal.wide{width:100%;height:100%;border-radius:0;padding:14px}}
.task.on-review .t-title{text-decoration:none;color:var(--ink)}

/* Лимиты Claude (27.09): значок в шапке и карточка на «Сегодня» — можно ли начинать работу */
.lim{display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 12px;border-radius:999px;border:1px solid var(--line-2);
  background:var(--card);font:600 12.5px/1 var(--mono);color:var(--ink-2);cursor:pointer;white-space:nowrap;flex:0 0 auto}
.lim i{width:9px;height:9px;border-radius:50%;background:#4E7A46}
.lim.lv-y i{background:var(--gold)}
.lim.lv-r i{background:var(--brick)}
.lim .lim-k{display:none}
@media (max-width:1180px){.lim .lim-l{display:none}.lim .lim-k{display:inline}}
@media (max-width:760px){.lim span,.lim .lim-k{display:none}.lim{padding:0 11px}}
.limc{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px 16px;margin-bottom:22px}
.modal .limc{border:0;padding:0;background:transparent}
.limc .sec-h{margin-bottom:4px}
.lim-say{display:flex;gap:8px;align-items:flex-start;font-weight:600;font-size:14px;line-height:1.4;margin:4px 0 10px}
.ldot2{flex:none;width:10px;height:10px;border-radius:50%;margin-top:5px;background:#4E7A46}
.lv-y .ldot2{background:var(--gold)}
.lv-r .ldot2{background:var(--brick)}
.lv-g .lim-say{color:#3F6A38}
.lv-y .lim-say{color:var(--gold-dk)}
.lv-r .lim-say{color:var(--brick)}
.lim-row{margin:10px 0}
.lim-h{display:flex;justify-content:space-between;gap:10px;font-size:13px;color:var(--ink-2)}
.lim-h b{font:700 13px/1.2 var(--mono)}
.lim-bar{height:7px;border-radius:99px;background:var(--paper-2);overflow:hidden;margin:5px 0 3px}
.lim-bar i{display:block;height:100%;border-radius:99px;background:#4E7A46}
.lim-bar i.y{background:var(--gold)}
.lim-bar i.r{background:var(--brick)}
.lim-s,.lim-at{font:500 11.5px/1.45 var(--mono);color:var(--ink-4);margin:0}
.lim-pace{font-size:12.5px;line-height:1.4;color:var(--gold-dk);margin:8px 0}
.lim-at{margin-top:6px}

/* Окно задачи по центру, как окно результата (27.09): суть слева, настройки справа, история под сутью */
.drawer{top:50%;left:50%;right:auto;bottom:auto;transform:translate(-50%,-50%);width:min(1080px,calc(100% - 32px));
  max-height:min(92vh,1000px);border-radius:22px;overflow:hidden;animation:pop .18s ease-out}
.dr-body{display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"main" "side" "hist";gap:0 28px;overflow-x:hidden}
.dr-main{grid-area:main;min-width:0}
.dr-side{grid-area:side;min-width:0}
.side2{gap:0 14px}
.dr-hist{grid-area:hist;min-width:0}
@media (min-width:900px){
  .dr-body{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);grid-template-rows:auto 1fr;grid-template-areas:"main side" "hist side";align-items:start}
  .dr-side{border-left:1px solid var(--line);padding-left:24px;margin-top:4px}
  .dr-side .side2{grid-template-columns:minmax(0,1fr)}
  .dr-side > .fld:first-child{margin-top:0}
}
.row2{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.inp[type=date]{-webkit-appearance:none;appearance:none;min-width:0;display:block;line-height:37px}
body.locked{position:fixed;left:0;right:0;overflow:hidden}
.dr-body,.modal{overscroll-behavior:contain}
@media (max-width:640px){
  .drawer{top:auto;left:0;right:0;bottom:0;transform:none;width:100%;max-height:none;height:calc(100% - 28px);
    border-radius:22px 22px 0 0;animation:up .22s ease-out}
  .dr-body{padding:18px 16px 40px;touch-action:pan-y}
  .row2,.side2{grid-template-columns:minmax(0,1fr)}
  /* iPhone приближает страницу, если у поля шрифт мельче 16 — и потом страница «гуляет» */
  input,select,textarea{font-size:16px !important}
  .dr-title{font-size:24px !important}
}
.dr-top .num{white-space:nowrap}
/* Живая страница в окне результата — в настоящую ширину сайта, уменьшенная под окно */
.vw-fit{position:relative;width:100%;height:100%;overflow:hidden;background:#fff}
.vw-fit .vw-frame{position:absolute;top:0;left:0;min-height:0;transform-origin:0 0}
.vw-phone .vw-fit{width:min(390px,100%);border-radius:24px;box-shadow:0 0 0 8px #1A1A17}
.vw-phone .vw-fit .vw-frame{box-shadow:none;border-radius:0;max-width:none}
.vw-itog{max-height:none;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;cursor:pointer}
.vw-itog.full{display:block;-webkit-line-clamp:unset;max-height:9em;overflow:auto}

/* «Написать по задаче» (27.09): в чат этой задачи или заметкой */
.msgbox .area{min-height:84px}
.msg-acts{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.msg-hint{font-size:12.5px;line-height:1.45;color:var(--ink-4);margin:8px 0 0}

/* Модель под задачу (27.09) */
.mdl{margin:-4px 0 16px}
.mdl-row{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:8px}
.mdl .sel{height:36px;font-size:13px}
.mdl-why{font-size:12.5px;line-height:1.45;color:var(--ink-3);margin:6px 0 0}
@media (max-width:640px){.mdl-row{grid-template-columns:minmax(0,1fr)}}
/* Ответы чатов в истории — абзацами, списками, вопросы отдельно */
.hist .h.note .ntext{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:9px 12px;margin:4px 0 0;line-height:1.5}
.hist .h.note .ntext p{background:none;border:0;border-radius:0;padding:0;margin:0 0 6px}
.hist .h.note .ntext p:last-child{margin-bottom:0}
.hist .h.note .ntext ul,.hist .h.note .ntext ol{margin:2px 0 8px;padding-left:20px}
.hist .h.note .ntext li{margin:3px 0}
/* длинные события истории (итог «на проверку») — тоже по строкам */
.hist .h:not(.note) .ntext p{margin:0 0 5px}.hist .h:not(.note) .ntext ul,.hist .h:not(.note) .ntext ol{margin:2px 0 6px;padding-left:20px}
.hist .h:not(.note) .ntext li{margin:2px 0}
/* «Зачем», «Что делаем и где», итог — оформленным текстом, как в Штабе; нажали — поле для правки (Антон, 28.09) */
.rview{background:var(--card);border:1.5px solid var(--line-2);border-radius:11px;padding:10px 12px;font-size:14.5px;line-height:1.55;cursor:text}
.rview p{margin:0 0 6px}.rview p:last-child{margin-bottom:0}.rview p.q{color:var(--brick);font-weight:600}
.rview ul,.rview ol{margin:2px 0 8px;padding-left:20px}.rview li{margin:3px 0}.rview b{color:var(--ink)}
.hist .h.note .ntext p.q{font-weight:600;color:var(--gold-dk);background:var(--gold-wash);border-radius:8px;padding:6px 10px;margin:6px 0}

/* Этап: «Ждёт вашей проверки» — сверху, до «Осталось сделать» (27.09) */
.sub-h.rev{color:var(--brick)}
.shead .pr.rev{color:var(--brick);font-weight:700}

/* ─── Штаб: разговор с главным чатом ─────────────────────────────────────── */
.talk{max-width:860px;margin:0 auto}
.talk-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;flex-wrap:wrap}
.talk-head .hand{font-size:27px;line-height:1;display:inline-block;transform:rotate(-2deg);margin-top:6px}
.talk-side{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.talk-who{display:inline-flex;align-items:center;height:32px;padding:0 13px;border-radius:999px;background:var(--card);
  border:1px solid var(--line);font:500 12px/1 var(--mono);color:var(--ink-3)}
.talk-lead{margin:16px 0 0;max-width:660px;color:var(--ink-3)}
.talk-list{margin-top:26px;display:flex;flex-direction:column;gap:14px}
.talk-load{padding:18px;text-align:center}
.talk-more{align-self:center}
.talk-day{align-self:center;margin:8px 0 0;font:500 11px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-4)}
.msg{display:flex;gap:10px;max-width:86%}
.msg .bub{padding:12px 16px;font-size:15px;line-height:1.55;overflow-wrap:anywhere}
.msg .bub p{margin:0 0 8px}.msg .bub p:last-child{margin-bottom:0}
.msg .bub ul,.msg .bub ol{margin:4px 0 8px;padding-left:20px}.msg .bub li{margin:3px 0}
.msg .bub ul:last-child,.msg .bub ol:last-child{margin-bottom:0}
.msg .meta{margin-top:6px;font:500 11px/1.2 var(--mono);color:var(--ink-4);display:flex;align-items:center;gap:8px;flex-wrap:wrap}
/* «Скопировать» под сообщением и блок «Для пересылки» — №197 */
.mcopy{display:inline-flex;align-items:center;height:28px;padding:0 11px;border-radius:999px;border:1px solid var(--line-2);
  background:var(--card);font:500 11px/1 var(--mono);color:var(--ink-3);cursor:pointer}
.mcopy:hover{border-color:var(--gold);color:var(--gold-dk)}
.mcopy.ok,.fwd .btn.ok{background:var(--green-wash);border-color:var(--green);color:var(--green);box-shadow:none}
.fwd{margin:10px 0;padding:10px 12px 12px;border:1.5px dashed var(--gold);border-radius:12px;background:var(--paper)}
.fwd:first-child{margin-top:0}.fwd:last-child{margin-bottom:0}
.fwd-h{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px;
  font:600 10.5px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--gold-dk)}
.fwd-h span{white-space:nowrap}
.msg.me{align-self:flex-end;flex-direction:column;align-items:flex-end}
.msg.me .bub{background:var(--ink);color:var(--paper);border-radius:18px 18px 6px 18px;box-shadow:0 3px 0 var(--gold-deep)}
.msg.me .bub p.q{color:var(--gold-lit);font-weight:600}
.msg.hq{align-self:flex-start}
.msg.hq .mcol{min-width:0;flex:1 1 auto}
.msg .ava{flex:0 0 36px;width:36px;height:36px;border-radius:50%;background:var(--paper-2);border:1px solid var(--line);
  padding:3px;object-fit:contain}
.msg.hq .bub{background:var(--card);border:1px solid var(--line);border-left:3px solid var(--gold);
  border-radius:6px 18px 18px 18px;box-shadow:var(--shadow)}
.msg.hq .bub p.q{font-weight:600;color:var(--gold-dk);background:var(--gold-wash);border-radius:8px;padding:6px 10px;margin:8px 0}
.msg.hq .bub.err{border-left-color:var(--brick);display:flex;align-items:center;gap:12px;flex-wrap:wrap;color:var(--brick)}
.tref{font:600 12.5px/1 var(--mono);color:var(--gold-dk);background:var(--gold-wash);border-radius:6px;padding:2px 6px;
  cursor:pointer;white-space:nowrap}
.tref:hover{background:var(--gold);color:var(--ink)}
.trefs{display:grid;gap:6px;margin-top:8px}
.tref-card{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:10px;row-gap:3px;align-items:baseline;
  background:var(--card);border:1px solid var(--line);border-left:3px solid var(--vc);border-radius:11px;padding:9px 13px;cursor:pointer}
.tref-card:hover{border-color:var(--line-2);border-left-color:var(--vc)}
.tref-card b{font:600 12px/1 var(--mono);color:var(--ink-3)}
.tref-card .tt{font-weight:600;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tref-card .tm{grid-column:2;font-size:12.5px;color:var(--ink-3)}
.msg.typing .bub{display:flex;align-items:center;gap:10px;color:var(--ink-3);font-size:13.5px}
.dots{display:inline-flex;gap:4px}
.dots i{width:6px;height:6px;border-radius:50%;background:var(--gold);animation:tdots 1.2s infinite}
.dots i:nth-child(2){animation-delay:.2s}.dots i:nth-child(3){animation-delay:.4s}
@keyframes tdots{0%,80%,100%{opacity:.25;transform:none}40%{opacity:1;transform:translateY(-3px)}}
.talk-empty{text-align:center;padding:28px 18px;border:1.5px dashed var(--edge);border-radius:var(--r);color:var(--ink-3)}
.talk-empty img{width:64px;height:64px;object-fit:contain}
.talk-empty p{margin:8px 0 0}.talk-empty b{color:var(--ink)}
.starters{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:14px}
.starters button{border:1px solid var(--line-2);background:var(--card);border-radius:999px;padding:8px 14px;font-size:13.5px}
.starters button:hover{border-color:var(--gold);background:var(--paper)}
.talk-box{margin-top:22px;background:var(--card);border:1.5px solid var(--line-2);border-radius:18px;padding:12px;box-shadow:var(--shadow)}
.talk-box:focus-within{border-color:var(--gold);box-shadow:0 0 0 3px rgba(184,146,75,.18)}
.talk-box textarea{display:block;width:100%;min-height:76px;border:0;outline:none;resize:none;background:transparent;
  font-size:16px;line-height:1.5;padding:4px 6px}
.talk-row{display:flex;align-items:center;gap:10px;margin-top:8px}
.talk-row .hint{flex:1 1 auto;font:500 11.5px/1.3 var(--mono);color:var(--ink-4)}
.mic.rec{background:var(--brick-wash);border-color:var(--brick);color:var(--brick);animation:tpulse 1.4s infinite}
@keyframes tpulse{50%{box-shadow:0 0 0 5px rgba(166,67,47,.15)}}
.tbtn{flex:0 0 auto;width:34px;height:32px;border-radius:10px;border:1.5px solid var(--line-2);background:var(--card);color:var(--ink-3);
  display:inline-flex;align-items:center;justify-content:center;box-shadow:0 2px 0 rgba(26,26,23,.08)}
.tbtn:hover{color:var(--ink);border-color:var(--gold)}
.mic .sm{display:none}
.talk-box.drop{border-color:var(--gold);border-style:dashed;background:var(--paper)}
.talk-att{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 10px}
.att-p{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr);grid-template-rows:auto auto;column-gap:9px;align-items:center;
  width:220px;max-width:100%;padding:6px 30px 6px 6px;border:1px solid var(--line);border-radius:12px;background:var(--paper)}
.att-p img,.att-p .att-ic{grid-row:1/3;width:44px;height:44px;border-radius:8px;object-fit:cover;display:flex;align-items:center;justify-content:center;
  background:var(--paper-2);font-size:20px}
.att-p .att-n{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.att-p .att-s{font:500 11px/1.2 var(--mono);color:var(--ink-4)}
.att-p.st-up .att-s{color:var(--gold-dk)}.att-p.st-err{border-color:var(--brick)}.att-p.st-err .att-s{color:var(--brick)}
.att-p button{position:absolute;top:5px;right:5px;width:22px;height:22px;border:0;border-radius:50%;background:transparent;color:var(--ink-4);
  display:flex;align-items:center;justify-content:center;padding:0}
.att-p button svg{width:13px;height:13px}.att-p button:hover{background:var(--paper-3);color:var(--ink)}
.att{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.msg.me .att{justify-content:flex-end}
.att-img{display:block;border-radius:12px;overflow:hidden;border:1px solid var(--line);background:var(--paper-2);line-height:0}
.att-img img{display:block;max-width:260px;max-height:220px;width:auto;height:auto;object-fit:cover}
.att-doc{display:inline-flex;align-items:center;gap:8px;max-width:280px;padding:9px 12px;border:1px solid var(--line);border-radius:12px;
  background:var(--card);color:var(--ink);text-decoration:none;font-size:13.5px}
.att-doc span{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.att-doc i{font:500 11px/1 var(--mono);font-style:normal;color:var(--ink-4);flex:none}
.att-doc:hover{border-color:var(--gold)}
.lb{flex:1 1 auto;min-height:0;display:flex;align-items:center;justify-content:center;overflow:auto;background:var(--paper-2);border-radius:12px}
.lb img{display:block;max-width:100%;max-height:100%;object-fit:contain}
.tdot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-left:2px}
.tdot.new{background:var(--brick)}
.tdot.wait{background:var(--gold);animation:tdots 1.4s infinite}
@media (max-width:760px){
  .msg{max-width:94%}
  .talk-lead{font-size:14.5px}
  .talk-row{flex-wrap:wrap;gap:8px}
  .talk-row #talkSend{margin-left:auto}
  .mic .lg,.mic .sm{display:none}.mic.rec .sm{display:inline}
  .mic{width:38px;padding:0}.mic.rec{width:auto;padding:0 12px}
  .att-img img{max-width:200px;max-height:180px}
  .att-p{width:calc(50% - 4px)}
  /* поле ввода «Штаба» прибито к низу: над меню, с клавиатурой — над ней; ленту можно читать, пока диктуешь (28.09) */
  .talk-dock{position:fixed;left:0;right:0;bottom:calc(65px + env(safe-area-inset-bottom));z-index:45;pointer-events:none;
    padding:12px 8px 8px;background:linear-gradient(rgba(250,245,238,0),var(--paper) 12px)}
  body.kb .talk-dock{bottom:0}
  .talk-dock .talk-box{pointer-events:auto;margin-top:0;padding:8px 10px;border-radius:16px}
  .talk-box textarea{min-height:44px}
  .talk-row{margin-top:4px}
  .talk-row .hint{display:none}
  .tabbar .hq{color:var(--paper)}
  .tabbar .hq.on{background:var(--gold);color:var(--ink);box-shadow:0 3px 0 var(--gold-dk)}
  .tabbar .hq .tdot{position:absolute;top:5px;right:5px;width:10px;height:10px;border:2px solid var(--ink);margin:0}
}
.ai-on{margin-top:14px;padding:10px 14px;border-radius:11px;background:var(--green-wash);color:var(--green);font-weight:600;font-size:14px}
.ai-steps{margin:14px 0 0;padding-left:20px;color:var(--ink-2);font-size:14.5px;line-height:1.6}
.ai-steps li{margin:3px 0}
.tbtn.nudge{border-color:var(--gold);color:var(--gold-dk);background:var(--gold-wash);animation:tpulse2 1.8s infinite}
@keyframes tpulse2{50%{box-shadow:0 0 0 5px rgba(184,146,75,.2)}}
.tbtn.busy{pointer-events:none;color:var(--gold-dk)}
.tbtn.busy svg{animation:tspin .9s linear infinite}
@keyframes tspin{to{transform:rotate(360deg)}}
.chip.tok{background:var(--paper-2);color:var(--ink-3);font-family:var(--mono);font-size:11px}
.use{border:1px solid var(--line);border-radius:12px;background:var(--card);padding:10px 12px}
.use-tot{font-size:14px;margin-bottom:6px}.use-tot b{font:700 18px/1 var(--display);letter-spacing:.02em}
.use-r{display:flex;justify-content:space-between;gap:10px;padding:5px 0;border-top:1px dashed var(--line);font-size:12.5px;color:var(--ink-3)}
.use-r span:last-child{white-space:nowrap;color:var(--ink-2)}
.use-note{margin:8px 0 0;font-size:12px;line-height:1.45;color:var(--ink-4)}
.ai-stat{margin-top:10px;padding:10px 14px;border-radius:11px;background:var(--paper-2);font-size:13.5px;line-height:1.6;color:var(--ink-2)}

/* ─── проверка: «Принять» на карточке и в окне задачи ─────────────────────── */
.t-live.rev .rev-ok{margin-left:8px;border:1px solid var(--gold);background:var(--gold-wash);color:var(--gold-dk);border-radius:999px;
  padding:2px 10px;font:600 12px/1.5 var(--body);cursor:pointer}
.t-live.rev .rev-ok:hover{background:var(--gold);color:var(--ink)}
.revbox{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:12px;padding:12px 14px;
  border:1.5px solid var(--gold);border-radius:14px;background:var(--gold-wash)}
.revbox b{display:block;font-size:14.5px}.revbox span{font-size:13px;color:var(--ink-2)}
.revbox-acts{display:flex;gap:8px;flex-wrap:wrap}
/* «Написать по задаче» — с диктовкой и вложениями */
.msgbox .msg-acts{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.msgbox .msg-acts .grow{flex:1 1 auto}
.msgbox.drop .area{border-color:var(--gold);border-style:dashed}
.msgbox .talk-att{margin:0 0 8px}
.h .att{margin-top:6px}.h .att-img img{max-width:180px;max-height:140px}

/* ─── Штаб: задачи цветом по состоянию и «Ждут вас» ──────────────────────── */
.tref.st-rev,.tref.st-wait{background:var(--brick-wash);color:var(--brick)}
.tref.st-ok,.tref.st-done{background:var(--green-wash);color:var(--green)}
.tref.st-off{background:var(--paper-2);color:var(--ink-4)}
.tref-card{position:relative}
.tref-card .tm em{font-style:normal}
.tref-card.st-rev,.tref-card.st-wait{border-color:rgba(166,67,47,.35);border-left-color:var(--brick);background:var(--brick-wash)}
.tref-card.st-rev .tm em,.tref-card.st-wait .tm em{color:var(--brick);font-weight:700}
.tref-card.st-work{border-left-color:var(--gold)}.tref-card.st-work .tm em{color:var(--gold-dk);font-weight:600}
.tref-card.st-ok,.tref-card.st-done{border-left-color:var(--green);opacity:.6}
.tref-card.st-ok .tm em,.tref-card.st-done .tm em{color:var(--green);font-weight:600}
.tref-card.st-off{opacity:.45}
.tref-card.st-ok:hover,.tref-card.st-done:hover{opacity:1}
.tref-card .tw-ok{position:absolute;right:10px;top:50%;transform:translateY(-50%)}
.tref-card.st-rev{padding-right:44px}
.tw-ok{flex:none;width:26px;height:26px;border:0;border-radius:50%;background:var(--green);color:#fff;font-weight:800;font-size:14px;cursor:pointer;
  box-shadow:0 2px 0 rgba(26,26,23,.15)}
.tw-ok:hover{filter:brightness(1.1)}

/* «Ждут вас» — колонкой справа от разговора; на узком экране — кнопка в шапке и окно */
.talk-wrap{max-width:1220px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:30px;align-items:start}
.talk-wrap .talk{max-width:none;margin:0}
.talk-aside{position:sticky;top:92px;max-height:calc(100vh - 240px);overflow:auto;background:var(--card);border:1px solid var(--line);
  border-radius:var(--r);padding:14px 12px;box-shadow:var(--shadow)}
.aw-h{font:700 14px/1 var(--display);letter-spacing:.12em;text-transform:uppercase;margin:2px 4px 12px}
.aw-sec{display:flex;justify-content:space-between;align-items:baseline;margin:16px 4px 7px;font:600 10.5px/1 var(--mono);
  letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}
.aw-h+.aw-sec{margin-top:0}
.aw-sec em{font-style:normal;color:var(--brick)}
.aw-i{padding:9px 10px 9px 12px;border-radius:11px;border:1px solid var(--line);border-left:3px solid var(--brick);margin-bottom:6px;
  cursor:pointer;background:var(--paper)}
.aw-i.ans{border-left-color:var(--gold)}
.aw-i:hover{border-color:var(--line-2);background:var(--card)}
.aw-top{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:22px}
.aw-top b{font:600 11.5px/1 var(--mono);color:var(--ink-3)}
.aw-top .tw-ok{width:24px;height:24px;font-size:12px}
.aw-title{margin-top:3px;font-size:13.5px;font-weight:600;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.aw-meta{margin-top:3px;font-size:12px;color:var(--ink-4);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.aw-more{border:0;background:none;color:var(--gold-dk);font-weight:600;font-size:13px;padding:2px 4px 6px;cursor:pointer}
.aw-pill{display:none}
.aw-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--brick);margin-right:2px}
.aw-list .aw-h{font-size:18px;margin-bottom:14px}
@media (max-width:1100px){
  .talk-wrap{display:block;max-width:860px}
  .talk-aside{display:none!important}
  .aw-pill{display:inline-flex}
}

/* ─── Стол РДК: тендеры (28.09.2026) ─────────────────────────────────────── */
.tfilters{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.tfilters .seg .n{font:600 11px/1 var(--mono);color:var(--ink-4);margin-left:3px}
.tfilters .seg button.on .n{color:var(--gold-dk)}
.tsearch{flex:0 1 230px}
.btn-hot{background:var(--brick);color:#fff;box-shadow:0 2px 0 rgba(0,0,0,.2)}
.tboard{display:flex;gap:22px;margin-top:22px;overflow-x:auto;padding-bottom:14px;align-items:flex-start}
.tpart{flex:0 0 auto}
.tpart>h3{margin:0 0 10px 4px;font:600 11px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--gold-dk)}
.tpart>h3 em{font-style:normal;color:var(--ink-4);letter-spacing:.04em;text-transform:none;margin-left:8px}
.tcols{display:flex;gap:12px;align-items:flex-start}
.tcol{width:236px;flex:0 0 236px}
.tcol .col-h h3{font-size:13px;letter-spacing:.05em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.tlist{display:flex;flex-direction:column;gap:8px}
.tgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}
.tcard{display:block;background:var(--card);border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:12px;
  padding:10px 12px;text-decoration:none;color:var(--ink);box-shadow:0 1px 0 rgba(26,26,23,.04);min-width:0}
.tcard:hover{border-color:var(--line-2);border-left-color:var(--gold-dk)}
.tcard.noshag{border-left-color:var(--edge)}
.tcard.hot{border-left-color:var(--brick)}
.tc-top{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}
.tc-num{font:600 12px/1.2 var(--mono);color:var(--ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.tc-top .chip{flex:0 0 auto}
.tc-cust{margin-top:6px;font-weight:600;font-size:14px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.tc-nums{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:7px;font:500 12.5px/1.2 var(--mono);color:var(--ink-2)}
.tc-st{color:var(--ink-4)}
.ml{display:inline-flex;align-items:center;gap:5px;font:600 12px/1 var(--mono)}
.ml i{width:9px;height:9px;border-radius:999px;background:var(--ink-4)}
.ml.red i{background:#C0392B}.ml.yellow i{background:#D9A520}.ml.green i{background:#3F8A4A}
.tshag{margin-top:8px;padding-top:8px;border-top:1px dashed var(--line);font-size:13px;line-height:1.35;color:var(--ink-2)}
.tshag b{color:var(--ink)}
.tshag.none{color:var(--brick);font-weight:600}
.tshag .do{color:var(--ink-4);font:500 11.5px/1 var(--mono)}
.tshag .late{color:var(--brick);font:600 11.5px/1 var(--mono)}
.thead{margin-top:14px;background:var(--card);border:1px solid var(--line);border-top:4px solid var(--gold);border-radius:var(--r);
  padding:18px 20px;box-shadow:var(--shadow)}
.thead.hot{border-top-color:var(--brick)}
.th-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.th-num{margin:0;font-size:30px;overflow-wrap:anywhere}
.chip.stg{background:var(--ink);color:var(--paper)}
.th-cust{margin-top:10px;font-size:15px}
.th-srok{margin-top:6px;font-size:13.5px;color:var(--ink-3)}
.th-nums{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px;max-width:640px}
.th-nums>div{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:10px 12px;min-width:0}
.th-nums span{display:block;font:500 10.5px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-4)}
.th-nums b{display:block;margin-top:6px;font:700 18px/1.1 var(--display);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.th-nums .m.red b{color:#C0392B}.th-nums .m.yellow b{color:#A5760B}.th-nums .m.green b{color:#3F8A4A}
.th-shag{margin-top:14px;display:flex;align-items:center;gap:10px 12px;flex-wrap:wrap}
.th-shag .lbl{font:500 10.5px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-4)}
.th-shag .tshag{margin:0;padding:0;border:0;font-size:14.5px;flex:1 1 240px}
.th-links,.th-acts{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.btn.off{opacity:.45;cursor:default;box-shadow:none}
.tpath{margin-top:6px}
.tpart-h{margin:24px 0 10px;font:600 11px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--gold-dk)}
.tpart-h em{font-style:normal;color:var(--ink-4);text-transform:none;letter-spacing:.04em}
.sinfo{margin:0 0 12px;padding:10px 12px;background:var(--paper);border:1px solid var(--line);border-radius:12px;font-size:13.5px;line-height:1.45;color:var(--ink-2)}
.sinfo p{margin:0 0 4px}.sinfo p:last-child{margin:0}
.menu a.mlink{display:flex;width:100%;align-items:center;gap:10px;padding:10px 12px;border-radius:9px;font-size:14px;color:var(--ink);text-decoration:none}
.menu a.mlink:hover{background:var(--paper-2)}
.codebox.long input{width:min(320px,100%);font-size:18px;letter-spacing:.04em}
@media (max-width:760px){
  .tfilters{width:100%}
  .tsearch{flex:1 1 100%}
  .tboard{display:none}
  .tsw{overflow-x:auto;scrollbar-width:none}
  .tsw::-webkit-scrollbar{display:none}
  .tsw button{flex:0 0 auto;min-width:62px;padding:6px 8px}
  .tsw button.gap{margin-left:10px}
  .tgrid{grid-template-columns:minmax(0,1fr)}
  .thead{padding:14px}
  .th-num{font-size:24px}
  .th-nums{gap:6px}
  .th-nums>div{padding:8px}
  .th-nums b{font-size:14px}
  .th-acts .btn{flex:1 1 auto}
}

/* Стол РДК — предмет закупки и подсказка движка (28.09.2026) */
.tc-pred{margin-top:3px;font-size:12.5px;line-height:1.35;color:var(--ink-3);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.th-pred{margin-top:5px;font-size:14px;line-height:1.4;color:var(--ink-2);max-width:880px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;cursor:pointer}
.th-pred.open{display:block;-webkit-line-clamp:unset;overflow:visible}
.tshag.eng{color:var(--ink-3)}
.tshag .eng-l{font:500 11px/1 var(--mono);letter-spacing:.03em;color:var(--ink-4)}
@media (max-width:760px){.th-pred{font-size:13.5px}}
