/* Hub в стиле ED Smart: глубокий синий, голубой и золотой акцент, Manrope, прямые углы */
@font-face{font-family:Manrope;font-weight:300;src:url(/fonts/manrope-300.ttf) format("truetype");font-display:swap}
@font-face{font-family:Manrope;font-weight:400;src:url(/fonts/manrope-400.ttf) format("truetype");font-display:swap}
@font-face{font-family:Manrope;font-weight:600;src:url(/fonts/manrope-600.ttf) format("truetype");font-display:swap}
@font-face{font-family:Manrope;font-weight:800;src:url(/fonts/manrope-800.ttf) format("truetype");font-display:swap}
:root{--ink:#06131f;--ink2:#091c2b;--panel:#0b2233;--line:#1d4256;--cyan:#72d9f4;--gold:#e8b954;--white:#edf7fb;--muted:#92a9b5;--ok:#67e8b7;--bad:#ff8a8a;--warn:#e8b954;
  --paper:var(--ink);--paper2:var(--ink2);--card:var(--panel);--pencil:var(--muted);--goldtx:var(--gold);color-scheme:dark}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;color:var(--white);font:400 15px/1.6 Manrope,Arial,sans-serif;background:var(--ink) radial-gradient(900px 420px at 78% -8%,rgba(114,217,244,.12),transparent 70%),radial-gradient(700px 360px at 8% 0,rgba(232,185,84,.06),transparent 70%) no-repeat fixed}
.wrap{max-width:1240px;margin:0 auto;padding:1.4rem clamp(14px,3vw,36px) 4rem}
a{color:inherit}
/* шапка */
header{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-end;justify-content:space-between;padding-bottom:1.2rem;margin-bottom:1rem;border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:.8rem;margin-bottom:1rem}
.mark{font:800 1.5rem/1 Manrope,Arial,sans-serif;letter-spacing:-.04em;color:var(--white);padding:.25rem .55rem;border:1px solid var(--cyan);text-shadow:0 0 14px rgba(114,217,244,.7);box-shadow:0 0 18px rgba(114,217,244,.18),inset 0 0 14px rgba(114,217,244,.08)}
.bt{font:600 .68rem/1 Manrope,Arial,sans-serif;letter-spacing:.32em;color:var(--cyan)}
h1{margin:0;font:800 clamp(2rem,5vw,3.4rem)/1 Manrope,Arial,sans-serif;letter-spacing:-.04em}
h1 em{font-style:normal;color:var(--white)}
h2{margin:0 0 1rem;font:600 .72rem/1.4 Manrope,Arial,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}
h2::before{content:"";width:28px;height:1px;background:var(--gold);flex:none}
h2 small{font:400 .72rem/1.4 Manrope,Arial,sans-serif;letter-spacing:.02em;text-transform:none;color:var(--muted)}
h3{font:600 .86rem/1.4 Manrope,Arial,sans-serif;margin:.2rem 0 .5rem;color:var(--white)}
.sub{color:var(--muted);font-size:.78rem;margin-top:.5rem}
.tools{display:flex;gap:.6rem;flex-wrap:wrap}
input,select,textarea{font:inherit;color:var(--white);background:var(--ink2);border:1px solid var(--line);border-radius:0;padding:.65rem .85rem;max-width:100%}
input:focus,select:focus,textarea:focus{outline:1px solid var(--cyan);border-color:var(--cyan)}
::placeholder{color:#5f7a89}
button{font:600 .76rem/1 Manrope,Arial,sans-serif;letter-spacing:.06em;text-transform:uppercase;background:var(--gold);color:#06131f;border:1px solid var(--gold);border-radius:0;padding:.8rem 1.2rem;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
button:hover{background:#f3cc77}
button.ghost{background:transparent;color:var(--white);border-color:var(--line)}button.ghost:hover{border-color:var(--cyan);color:var(--cyan)}
button:disabled{opacity:.5;cursor:default}
button.mini{background:transparent;color:var(--muted);border:0;padding:.2rem .4rem;font-size:.65rem;letter-spacing:.04em}button.mini:hover{color:var(--bad);background:transparent}
/* разделы */
.nav{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:1.2rem;position:sticky;top:0;z-index:5;background:linear-gradient(var(--ink) 75%,transparent);padding:.6rem 0 .8rem}
.tab{background:transparent;color:var(--muted);border:1px solid var(--line);font-size:.7rem;letter-spacing:.1em;padding:.7rem 1rem}
.tab:hover{color:var(--white);border-color:var(--cyan);background:transparent}
.tab.on{background:var(--gold);color:#06131f;border-color:var(--gold)}
/* карточки */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1px;margin-bottom:1.2rem;background:var(--line);border:1px solid var(--line)}
.card{background:linear-gradient(180deg,rgba(114,217,244,.04),transparent 40%),var(--panel);border:1px solid var(--line);padding:1.2rem 1.4rem;margin-bottom:1.2rem}
.cards .card{margin:0;border:0}
.card.wide{width:100%}
.stat b{display:block;font:300 2.4rem/1.1 Manrope,Arial,sans-serif;letter-spacing:-.03em}
.stat span{color:var(--muted);font-size:.74rem;letter-spacing:.04em}
.desc{color:var(--muted);font-size:.88rem;margin:-.2rem 0 1rem;max-width:70ch}
/* таблицы */
.tw{overflow-x:auto}
.tbl{width:100%;border-collapse:collapse;font-size:.86rem}
.tbl th{font:600 .64rem/1.4 Manrope,Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase;text-align:left;color:var(--muted);padding:.5rem .7rem;border-bottom:1px solid var(--line);white-space:nowrap}
.tbl td{padding:.65rem .7rem;border-bottom:1px solid rgba(29,66,86,.7);vertical-align:top}
.tbl tr:hover td{background:rgba(114,217,244,.04)}
.tbl a{color:var(--cyan);text-decoration:none;word-break:break-all}.tbl a:hover{text-decoration:underline}
.tbl small{display:block;color:var(--muted);font-size:.72rem;margin-top:.1rem}
.tbl td:nth-child(3){min-width:14rem}.tbl td:nth-child(2){min-width:11rem}
.tbl tr.me td{background:rgba(232,185,84,.12);font-weight:600}
.dot{display:inline-block;width:.55rem;height:.55rem;border-radius:50%;margin-right:.5rem;background:var(--muted);vertical-align:middle}
.dot.up{background:var(--ok);box-shadow:0 0 8px rgba(103,232,183,.7)}.dot.down{background:var(--bad)}.dot.warn{background:var(--warn)}
.up{color:var(--ok)}.down{color:var(--bad)}
/* записи */
.cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:1.4rem}
.entry{padding:.65rem 0;border-bottom:1px solid rgba(29,66,86,.7);display:flex;gap:.7rem;align-items:flex-start}
.entry .t{flex:1;min-width:0}.entry .t b{font-weight:600}.entry .t p{margin:.2rem 0 0;color:var(--muted);font-size:.82rem;white-space:pre-wrap}
.entry.done .t b{text-decoration:line-through;color:var(--muted)}
.entry .x{font-size:.7rem;color:var(--muted);white-space:nowrap}
.entry a{color:var(--cyan);text-decoration:none}.entry a:hover{text-decoration:underline}
.entry input[type=checkbox]{accent-color:var(--gold);margin-top:.3rem}
.badge{font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;padding:.12rem .45rem;border:1px solid var(--line);color:var(--cyan);margin-left:.5rem;font-weight:600}
.addf{display:grid;gap:.6rem;margin-top:1.2rem;padding-top:1rem;border-top:1px solid var(--line)}.addf textarea{min-height:3.4rem}
.docs a{display:inline-block;margin:.2rem .35rem .2rem 0;padding:.4rem .8rem;border:1px solid var(--line);color:var(--white);text-decoration:none;font-size:.78rem;cursor:pointer}.docs a:hover{border-color:var(--cyan);color:var(--cyan)}
.live{font-size:.84rem;color:var(--muted);margin:.2rem 0 1rem;padding:.7rem 1rem;border-left:2px solid var(--gold);background:rgba(232,185,84,.05)}.live b{color:var(--white);font-weight:600}
/* документ */
.viewer{position:fixed;inset:0;background:rgba(3,10,17,.85);backdrop-filter:blur(4px);z-index:50;display:grid;place-items:center;padding:1rem}
.viewer[hidden]{display:none}
.vbox{background:var(--panel);border:1px solid var(--line);max-width:860px;width:100%;max-height:90vh;overflow:auto;padding:1.3rem 1.5rem}
.md h1,.md h2,.md h3{font-family:Manrope,Arial,sans-serif;letter-spacing:0;text-transform:none;color:var(--white);display:block}.md h2::before{display:none}
.md h1{font-size:1.5rem;font-weight:800}.md h2{font-size:1.15rem;font-weight:600}
.md code{background:var(--ink2);padding:.05rem .35rem;font-size:.85em;color:var(--cyan)}.md pre{background:var(--ink2);padding:.8rem;overflow:auto;border:1px solid var(--line)}
.md blockquote{border-left:2px solid var(--gold);margin:.5rem 0;padding:.1rem .9rem;color:var(--muted)}.md a{color:var(--cyan)}.md p{margin:.5rem 0}
/* вход */
.loginbody{display:grid;place-items:center;min-height:100vh;padding:1rem}
.lbox{background:var(--panel);border:1px solid var(--line);padding:1.8rem;width:min(380px,100%);display:grid;gap:.6rem;box-shadow:0 0 60px rgba(114,217,244,.08)}
.lbox h1{font-size:2rem;margin-bottom:.4rem}
.lbox label{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.lbox input[hidden],.lbox label[hidden]{display:none}.err{color:var(--bad);font-size:.82rem;min-height:1.2em;margin:0}
/* соцсети */
.cgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:1.2rem;margin-bottom:1.2rem}.cgrid .card{margin:0}
.big{font:300 2.8rem/1.1 Manrope,Arial,sans-serif;letter-spacing:-.03em;margin:.4rem 0 .1rem}
.delta{display:flex;gap:1rem;flex-wrap:wrap;font-size:.84rem;color:var(--muted)}
.row{font-size:.78rem;color:var(--muted);margin-top:.4rem}
svg.chart{display:block;width:100%;height:150px;margin-top:.9rem}svg.chart.tall{height:230px}
.bar{height:4px;background:var(--ink2);margin-top:.8rem;overflow:hidden}.bar i{display:block;height:100%;background:linear-gradient(90deg,var(--gold),var(--cyan))}
.goal{font-size:.78rem;color:var(--muted);margin-top:.35rem;display:flex;justify-content:space-between}
.sum{display:grid;grid-template-columns:1fr 1fr;gap:.6rem 1rem;margin-top:.9rem;font-size:.82rem}.sum .k{display:block;color:var(--muted);font-size:.68rem;letter-spacing:.04em}.sum b{font-weight:600}
.note{font-size:.76rem;color:var(--muted);margin-top:.7rem}.empty{font-size:.85rem;color:var(--muted);padding:1.6rem 0;text-align:center}
.foot{margin-top:1.2rem;font-size:.76rem;color:var(--muted)}
.srow{display:grid;grid-template-columns:7rem 1fr 2.5rem 9rem;gap:.8rem;align-items:center;margin-top:.8rem;font-size:.9rem}.srow .bar{margin:0}.srow small{color:var(--muted);font-size:.72rem}
.rep{white-space:pre-wrap;font:400 .9rem/1.65 Manrope,Arial,sans-serif;margin:.4rem 0 0;color:var(--white)}
.btnrow{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center;margin:.9rem 0}
.fgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1rem}
.fitem{display:block;text-decoration:none;color:inherit;border:1px solid var(--line);background:var(--ink2)}.fitem:hover{border-color:var(--cyan)}
.fitem img{display:block;width:100%;height:auto}.fitem span{display:block;padding:.5rem .65rem;font-size:.7rem;color:var(--muted);word-break:break-all}
/* адаптив */
@media(max-width:900px){.wrap{padding:1rem 14px 3rem}.cgrid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){
  body{font-size:15px}
  header{align-items:flex-start}.tools{width:100%}.tools input{flex:1;min-width:0}
  .nav{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;margin-inline:-14px;padding:.6rem 14px .8rem;scrollbar-width:none}.nav::-webkit-scrollbar{display:none}
  .tab{white-space:nowrap;flex:none;padding:.8rem 1.1rem;font-size:.72rem}
  button,input,select,textarea{min-height:2.7rem;font-size:16px}button{font-size:.74rem}
  .cards{grid-template-columns:1fr 1fr}.card{padding:1rem 1.1rem}
  .cols,.cgrid{grid-template-columns:1fr}
  .stat b{font-size:1.8rem}.big{font-size:2.3rem}
  .entry{flex-wrap:wrap}.entry .x{flex-basis:100%;display:flex;justify-content:space-between;align-items:center}
  .entry input[type=checkbox]{width:1.4rem;height:1.4rem;min-height:0;flex:none}
  .viewer{padding:0;place-items:stretch}.vbox{max-height:100vh;height:100vh;max-width:none;border:0}
  .fgrid{grid-template-columns:repeat(2,1fr)}.btnrow button{flex:1 1 100%}
  .tbl.stack,.tbl.stack tbody{display:block}
  .tbl.stack tr:first-child{display:none}
  .tbl.stack tr{display:block;padding:.8rem 0;border-bottom:1px solid var(--line)}
  .tbl.stack td{display:flex;gap:.6rem;justify-content:space-between;border:0;padding:.15rem 0;text-align:right}
  .tbl.stack td::before{content:attr(data-l);color:var(--muted);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;text-align:left;flex:none;padding-top:.2rem}
  .tbl.stack td:nth-child(2){display:block;text-align:left;padding-bottom:.3rem}.tbl.stack td:nth-child(2)::before{display:none}
  .tbl.stack td:nth-child(2) .nm{font-size:1rem;font-weight:600}.tbl.stack td:nth-child(3){word-break:break-all}
  .tbl td:nth-child(3),.tbl td:nth-child(2){min-width:0}
  .srow{grid-template-columns:5rem 1fr 2rem}.srow small{display:none}.sum{grid-template-columns:1fr 1fr}
}
@media(max-width:380px){.cards{grid-template-columns:1fr}}

/* цвет группы проекта */
.card.pj{background:linear-gradient(135deg,var(--pbg),rgba(11,34,51,0) 75%),var(--panel);border-left:3px solid var(--pc)}
.card.pj h2{color:var(--pc)}.card.pj h2::before{background:var(--pc)}
.tbl tr.pj td{background:var(--pbg)}
.tbl tr.pj:hover td{background:var(--pbg);filter:brightness(1.25)}
.tbl tr.pj td:first-child{border-left:3px solid var(--pc);color:var(--pc);font-weight:600}
.tab.pj{border-color:var(--pc);color:var(--white);background:var(--pbg)}
.tab.pj::before{content:"";display:inline-block;width:.5rem;height:.5rem;background:var(--pc);margin-right:.55rem;vertical-align:middle}
.tab.pj:hover{filter:brightness(1.3);border-color:var(--pc)}
.tab.pj.on{background:var(--pc);border-color:var(--pc);color:#06131f}.tab.pj.on::before{background:#06131f}
@media(max-width:700px){.tbl.stack tr.pj{border-left:3px solid var(--pc);padding-left:.7rem}.tbl.stack tr.pj td:first-child{border-left:0}}
.narrowbox{max-width:520px}.narrowbox .addf{margin-top:.6rem;padding-top:0;border:0}
#add{white-space:nowrap}
@media(max-width:700px){#add{flex:none}}

/* классификация записей */
.badge.hi{color:#06131f;background:var(--bad);border-color:var(--bad)}
.badge.lo{color:var(--muted)}
.badge.who{color:var(--gold);border-color:var(--gold)}
.cls{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.5rem}
.cls select{font-size:.7rem;padding:.25rem .45rem;min-height:0}
select.pr.high{border-color:var(--bad);color:var(--bad)}select.pr.low{color:var(--muted)}
.filters{padding:1rem 1.2rem}
.chips{display:flex;gap:.4rem;flex-wrap:wrap}
.chip{background:transparent;color:var(--muted);border:1px solid var(--line);font-size:.72rem;padding:.55rem .9rem;letter-spacing:.06em}
.chip:hover{color:var(--white);border-color:var(--cyan);background:transparent}
.chip.on{background:var(--cyan);border-color:var(--cyan);color:#06131f}
.frow{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:.8rem}.frow select{flex:1;min-width:160px}
.alert{margin:.2rem 0 .6rem;padding:.5rem .8rem;border-left:2px solid var(--bad);background:rgba(255,138,138,.08);font-size:.84rem}
@media(max-width:700px){.chips{flex-wrap:nowrap;overflow-x:auto;margin-inline:-.2rem;padding-bottom:.2rem}.chip{white-space:nowrap;flex:none}.cls select{min-height:2.2rem;font-size:.8rem}}

/* ответы под задачами и уведомление */
.thread{margin-top:.6rem}
.cm{border-left:2px solid var(--line);padding:.35rem .7rem;margin:.4rem 0;background:rgba(114,217,244,.04)}
.cm.user{border-left-color:var(--gold)}.cm.claude{border-left-color:var(--cyan)}
.cm .who{font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;font-weight:600;margin-right:.6rem;color:var(--gold)}.cm.claude .who{color:var(--cyan)}
.cm .tm{font-size:.68rem;color:var(--muted)}.cm p{margin:.25rem 0 0;color:var(--white);font-size:.84rem;white-space:pre-wrap}
button.small{font-size:.66rem;padding:.45rem .75rem}
.replyf{display:grid;gap:.5rem;margin-top:.5rem}.replyf textarea{width:100%;min-height:4rem}
.toast{position:fixed;left:50%;bottom:1.2rem;transform:translateX(-50%);z-index:60;background:var(--panel);border:1px solid var(--gold);padding:.7rem 1rem;display:flex;gap:1rem;align-items:center;max-width:92vw;box-shadow:0 8px 40px rgba(0,0,0,.5);font-size:.86rem}
.toast[hidden]{display:none}
[hidden]{display:none !important}
