/* Лента захода. Светлая тема, всё под .wt — чтобы не спорить с Tailwind. */
.wt{
  --bg:#f4f5f7; --surface:#fff; --surface-2:#f8f9fb; --line:#e6e8ec; --line-2:#eef0f3;
  --text:#14171c; --text-2:#5b6472; --text-3:#8d95a3;
  --c-session:#475569; --c-search:#2563eb; --c-video:#0e9f6e; --c-browse:#7c3aed;
  --c-publish:#be185d; --c-warn:#d97706; --c-err:#dc2626;
  --future:repeating-linear-gradient(135deg,transparent 0 6px,rgba(20,23,28,.035) 6px 12px);
  --shadow:0 1px 2px rgba(16,24,40,.04),0 4px 16px rgba(16,24,40,.04);
}


.wt *{box-sizing:border-box}
.wt{margin:0;background:var(--bg);color:var(--text);font:14px/1.45 Inter,system-ui,sans-serif;font-feature-settings:"tnum" 1,"cv11" 1}
.wt button{font:inherit;color:inherit}

/* top bar */
.wt .topbar{display:flex;align-items:center;gap:12px;margin-bottom:12px;flex-wrap:wrap}
.wt .topbar h1{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-2);margin:0;font-weight:600}
.wt .live{display:inline-flex;align-items:center;gap:6px;color:var(--text-3);font-size:13px}
.wt .dot{width:8px;height:8px;border-radius:50%;background:var(--c-video);position:relative}
.wt .dot::after{content:"";position:absolute;inset:-4px;border-radius:50%;background:var(--c-video);opacity:.35;animation:wt-ping 1.6s infinite}
@keyframes wt-ping{0%{transform:scale(.4);opacity:.5}100%{transform:scale(1.4);opacity:0}}
.wt .spacer{flex:1}
.wt .seg{display:inline-flex;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--surface)}
.wt .seg button{border:0;background:none;padding:5px 10px;font-size:12px;color:var(--text-2);cursor:pointer}
.wt .seg button.on{background:var(--text);color:var(--surface)}
.wt .icon-btn{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:5px 9px;font-size:12px;color:var(--text-2);cursor:pointer}

.wt .card{background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);overflow:hidden}

/* header */
.wt .head{display:flex;align-items:center;gap:16px;padding:16px 20px;border-bottom:1px solid var(--line-2);flex-wrap:wrap}
.wt .acc{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.wt .acc b{font-size:18px;font-weight:700}
.wt .chip{font-size:12px;color:var(--text-2);background:var(--surface-2);border:1px solid var(--line);border-radius:6px;padding:1px 7px}
.wt .meta{color:var(--text-3);font-size:13px}
.wt .budget{display:flex;align-items:center;gap:12px;min-width:260px}
.wt .budget .txt{font-size:13px;color:var(--text-2);white-space:nowrap}
.wt .budget .txt b{color:var(--text)}
.wt .bar{height:6px;background:var(--line-2);border-radius:99px;overflow:hidden;flex:1;min-width:80px}
.wt .bar i{display:block;height:100%;background:var(--c-video);border-radius:99px;transition:width .4s}
.wt .status{font-size:12px;font-weight:600;padding:4px 10px;border-radius:99px;background:color-mix(in srgb,var(--c-video) 14%,transparent);color:var(--c-video);white-space:nowrap}
.wt .status.idle{background:color-mix(in srgb,var(--c-search) 14%,transparent);color:var(--c-search)}
.wt .status.done{background:var(--line-2);color:var(--text-2)}

/* toolbar */
.wt .tools{display:flex;align-items:center;gap:8px;padding:12px 20px 4px;flex-wrap:wrap}
.wt .legend{display:flex;gap:6px;flex-wrap:wrap}
.wt .lg{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:var(--surface);border-radius:99px;padding:3px 10px 3px 8px;font-size:12px;color:var(--text-2);cursor:pointer}
.wt .lg i{width:8px;height:8px;border-radius:50%;background:var(--c)}
.wt .lg.off{opacity:.45;text-decoration:line-through}
.wt .lg .n{color:var(--text-3)}

/* timeline */
.wt .tl{display:grid;grid-template-columns:92px 1fr;padding:4px 0 8px}
.wt .labels{padding-top:30px;border-right:1px solid var(--line-2)}
.wt .labels div{display:flex;align-items:center;gap:8px;padding-left:20px;font-size:12px;font-weight:500;color:var(--text-2);border-bottom:1px dashed var(--line-2)}
.wt .labels div i{width:3px;height:14px;border-radius:2px;background:var(--c)}
.wt .scroll{overflow-x:auto;overflow-y:hidden;position:relative;scrollbar-width:thin}
.wt .canvas{position:relative;min-width:100%}
.wt .axis{height:30px;position:relative;border-bottom:1px solid var(--line-2)}
.wt .tick{position:absolute;top:0;bottom:0;border-left:1px solid var(--line-2);font-size:11px;color:var(--text-3);padding:8px 0 0 5px;white-space:nowrap}
.wt .gridline{position:absolute;top:30px;bottom:0;border-left:1px solid var(--line-2);pointer-events:none}
.wt .lane{position:relative;border-bottom:1px dashed var(--line-2)}
.wt .future{position:absolute;top:0;bottom:0;right:0;background:var(--future);pointer-events:none}
.wt .nowline{position:absolute;top:0;bottom:0;width:0;border-left:2px solid var(--c-video);pointer-events:none;z-index:5}
.wt .nowline span{position:absolute;top:5px;left:0;transform:translateX(-50%);background:var(--c-video);color:#fff;font-size:11px;font-weight:600;padding:2px 7px;border-radius:6px;white-space:nowrap}

.wt .band{position:absolute;height:26px;border-radius:13px;background:color-mix(in srgb,var(--c-video) 16%,transparent);border:1px solid color-mix(in srgb,var(--c-video) 35%,transparent);overflow:hidden;display:flex;align-items:center;padding:0 30px;font-size:11px;color:var(--c-video);font-weight:500;white-space:nowrap}
.wt .band span{overflow:hidden;text-overflow:ellipsis}
.wt .band.live{background:repeating-linear-gradient(90deg,color-mix(in srgb,var(--c-video) 22%,transparent) 0 8px,color-mix(in srgb,var(--c-video) 14%,transparent) 8px 16px);background-size:32px 100%;animation:wt-flow 1s linear infinite;border-top-right-radius:4px;border-bottom-right-radius:4px}
@keyframes wt-flow{to{background-position:32px 0}}
.wt .band.plan{background:none;border:1.5px dashed color-mix(in srgb,var(--c-video) 45%,transparent);color:var(--text-3)}
.wt .mk{position:absolute;width:26px;height:26px;border-radius:50%;border:1.5px solid var(--c);background:var(--surface);color:var(--c);display:grid;place-items:center;cursor:pointer;padding:0;z-index:2;transition:transform .12s}
.wt .mk:hover,.mk.sel{transform:scale(1.18);z-index:4}
.wt .mk.sel{background:var(--c);color:var(--surface)}
.wt .mk.fresh{animation:wt-pop .5s ease-out}
@keyframes wt-pop{0%{transform:scale(.2)}70%{transform:scale(1.25)}100%{transform:scale(1)}}
.wt .mk svg{width:14px;height:14px}
.wt .mk.plan-end{border-style:dashed;opacity:.55;cursor:default}
.wt .foot{display:flex;justify-content:space-between;gap:12px;padding:6px 20px 14px;color:var(--text-3);font-size:12px;flex-wrap:wrap}

/* tooltip */
.wt .tip{position:fixed;z-index:50;pointer-events:none;background:var(--text);color:var(--surface);border-radius:10px;padding:8px 11px;font-size:12px;max-width:280px;opacity:0;transform:translateY(4px);transition:opacity .1s,transform .1s}
.wt .tip.on{opacity:1;transform:none}
.wt .tip .t{opacity:.65;font-size:11px}
.wt .tip b{display:block;font-size:13px;margin:1px 0}

/* panels */
.wt .panels{display:grid;grid-template-columns:1.2fr 1fr;border-top:1px solid var(--line-2)}
.wt .panel{padding:16px 20px}
.wt .panel+.panel{border-left:1px solid var(--line-2)}
.wt .ph{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);margin-bottom:8px}
.wt .ph.now{color:var(--c-video)}
.wt .q{font-size:12px;color:var(--text-3)}
.wt .q b{color:var(--text-2);font-weight:500}
.wt .title{font-size:16px;font-weight:600;margin:2px 0 10px}
.wt .prog{display:flex;justify-content:space-between;font-size:12px;color:var(--text-2);margin-bottom:6px}
.wt .kv{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;font-size:13px}
.wt .kv dt{color:var(--text-3)}
.wt .kv dd{margin:0;font-weight:500}

/* journal */
.wt .journal{margin-top:16px}
.wt .jh{display:flex;align-items:center;gap:10px;padding:14px 20px;border-bottom:1px solid var(--line-2);flex-wrap:wrap}
.wt .jh h2{margin:0;font-size:14px;font-weight:600}
.wt .jlist{max-height:380px;overflow:auto}
.wt .row{display:grid;grid-template-columns:72px 58px 24px 1fr;align-items:center;gap:10px;padding:7px 20px;border-bottom:1px solid var(--line-2);cursor:pointer}
.wt .row:hover{background:var(--surface-2)}
.wt .row.sel{background:color-mix(in srgb,var(--c) 10%,transparent)}
.wt .row .tm{color:var(--text-2);font-size:12px}
.wt .row .rel{color:var(--text-3);font-size:12px}
.wt .row .ic{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;color:var(--c);background:color-mix(in srgb,var(--c) 12%,transparent)}
.wt .row .ic svg{width:12px;height:12px}
.wt .row .lb{font-weight:500}
.wt .row .dt{color:var(--text-3);margin-left:6px}
.wt .row.jonly .lb{font-weight:400;color:var(--text-2)}
.wt .row.jonly .ic{background:none;border:1px dashed var(--line)}
.wt .tag{font-size:10px;color:var(--text-3);border:1px solid var(--line);border-radius:4px;padding:0 4px;margin-left:6px;vertical-align:1px}

@media (max-width:760px){
  .panels{grid-template-columns:1fr}
  .panel+.panel{border-left:0;border-top:1px solid var(--line-2)}
  .tl{grid-template-columns:34px 1fr}
  .labels div{padding-left:14px}
  .labels div span{display:none}
  .row{grid-template-columns:62px 24px 1fr}
  .row .rel{display:none}
}

.wt .row .ch{color:var(--text-3);margin-left:8px;font-size:12px}
.wt .row .ch::before{content:"·";margin-right:8px;opacity:.5}
.wt .row .go{display:inline-flex;align-items:center;gap:5px;margin-left:10px;padding:2px 9px;
  border:1px solid var(--line);border-radius:99px;background:var(--surface);
  color:var(--c-search);font-size:12px;font-weight:500;text-decoration:none;white-space:nowrap}
.wt .row .go:hover{background:color-mix(in srgb,var(--c-search) 8%,transparent);
  border-color:color-mix(in srgb,var(--c-search) 35%,transparent)}
.wt .row .go .ext{width:12px;height:12px}

/* Модальные окна панели: нативный dialog, затемнение и мягкое появление. */
dialog::backdrop{background:rgba(15,23,42,.5)}
dialog[open]{animation:dialog-in .12s ease-out}
@keyframes dialog-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
