/* Цвета — по фирменному стилю IT-куба: синий #1C75BC, голубой #64BDE1, серый #646464, белый фон.
   Тёмная тема включается в профиле («Оформление»). */
:root{
  --bg:#f3f6fa;--bg2:#ffffff;--card:#ffffff;--card2:#eef3f9;--line:#dfe6ee;
  --text:#1d2733;--muted:#5f6b78;--dim:#98a3af;--accent:#1c75bc;--accent-ink:#ffffff;--accent2:#64bde1;
  --accent-soft:rgba(28,117,188,.10);
  --red:#e0474c;--amber:#b87700;--green:#1f9d63;--blue:#1c75bc;
  --mine:#e1effa;--mine-line:#c3dcf1;--input:#ffffff;--ok-ink:#ffffff;
  --warn-bg:#fff5dc;--warn-line:#f0d9a0;--scrim:rgba(15,30,50,.45);
  --shadow:0 1px 2px rgba(16,40,70,.05),0 3px 10px rgba(16,40,70,.05);
  --pattern:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='97' viewBox='0 0 56 97'%3E%3Cg fill='none' stroke='%231c75bc' stroke-opacity='.10' stroke-width='1.2'%3E%3Cpath d='M28 0L56 16v32L28 64 0 48V16z'/%3E%3Cpath d='M0 16l28 16 28-16M28 32v32'/%3E%3Cpath d='M28 64l28 16v17M28 64L0 80v17'/%3E%3C/g%3E%3C/svg%3E");
  --r:14px;--nav:64px;
  color-scheme:light;
}
:root[data-theme="dark"]{
  --bg:#0d1524;--bg2:#111c2f;--card:#16233a;--card2:#1d2d49;--line:#25385a;
  --text:#e9f0fa;--muted:#9aabc4;--dim:#617494;--accent:#3d9be0;--accent-ink:#ffffff;--accent2:#64bde1;
  --accent-soft:rgba(61,155,224,.16);
  --red:#ff6b6b;--amber:#ffc24b;--green:#4fd18b;--blue:#64bde1;
  --mine:#163a5c;--mine-line:#1f4c78;--input:#0b1220;--ok-ink:#06210f;
  --warn-bg:#2e2410;--warn-line:#4a3a14;--scrim:rgba(0,0,0,.6);
  --shadow:none;
  --pattern:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='97' viewBox='0 0 56 97'%3E%3Cg fill='none' stroke='%2364bde1' stroke-opacity='.08' stroke-width='1.2'%3E%3Cpath d='M28 0L56 16v32L28 64 0 48V16z'/%3E%3Cpath d='M0 16l28 16 28-16M28 32v32'/%3E%3Cpath d='M28 64l28 16v17M28 64L0 80v17'/%3E%3C/g%3E%3C/svg%3E");
  color-scheme:dark;
}
*{box-sizing:border-box}
html,body{margin:0;height:100%;background:var(--bg);color:var(--text);
  font:15px/1.45 system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",sans-serif;-webkit-tap-highlight-color:transparent}
button,input,textarea,select{font:inherit;color:inherit}
a{color:var(--accent)}
.hidden{display:none!important}
.boot{display:grid;place-items:center;height:100vh;color:var(--muted)}

/* ---------- каркас */
.shell{display:flex;height:100vh;height:100dvh}
.side{width:230px;flex:none;background:var(--bg2);border-right:1px solid var(--line);display:flex;flex-direction:column;padding:16px 12px}
.brand{display:flex;align-items:center;gap:10px;padding:4px 8px 18px}
.brand img{width:34px;height:37px;object-fit:contain}
.brand .logo-w{display:none}
:root[data-theme="dark"] .brand .logo-c{display:none}
:root[data-theme="dark"] .brand .logo-w{display:block}
.brand b{font-size:16px;letter-spacing:.01em}
.nav{display:flex;flex-direction:column;gap:4px}
.nav button{display:flex;align-items:center;gap:12px;background:none;border:0;padding:10px 12px;border-radius:10px;
  color:var(--muted);cursor:pointer;text-align:left;font-weight:600;position:relative}
.nav button svg{width:22px;height:22px;flex:none}
.nav button.on{background:var(--accent-soft);color:var(--accent)}
.nav button.on svg{color:var(--accent)}
.badge{background:var(--accent);color:var(--accent-ink);font:700 11px/1 system-ui;border-radius:10px;padding:3px 6px;margin-left:auto}
.me{margin-top:auto;padding:12px 8px 0;border-top:1px solid var(--line);font-size:13px;color:var(--muted);cursor:pointer}
.me b{display:block;color:var(--text);font-size:14px}
.main{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden}
.top{display:flex;align-items:center;gap:10px;padding:14px 20px;border-bottom:1px solid var(--line);min-height:60px}
.top h1{font-size:20px;margin:0;font-weight:800;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.top .back{display:none}
.mebtn{display:none;cursor:pointer;width:36px;height:36px}
.scroll{flex:1;overflow:auto;padding:16px 20px 24px}
.offbar{background:var(--warn-bg);color:var(--amber);border-bottom:1px solid var(--warn-line);padding:8px 20px;font-size:13px}
.msg.pending{opacity:.75}
.wrap{max-width:860px;margin:0 auto}
.bottom{display:none}

@media (max-width:860px){
  .side{display:none}
  .bottom{display:flex;position:fixed;left:0;right:0;bottom:0;height:calc(var(--nav) + env(safe-area-inset-bottom));
    padding-bottom:env(safe-area-inset-bottom);background:var(--bg2);border-top:1px solid var(--line);z-index:5}
  .bottom button{flex:1;background:none;border:0;color:var(--dim);display:flex;flex-direction:column;align-items:center;
    justify-content:center;gap:3px;font-size:11px;font-weight:600;position:relative}
  .bottom button svg{width:24px;height:24px}
  .bottom button.on{color:var(--accent)}
  .bottom .badge{position:absolute;top:6px;left:50%;margin-left:6px}
  .main{padding-bottom:calc(var(--nav) + env(safe-area-inset-bottom))}
  .top{padding:12px 16px}
  .scroll{padding:14px 16px 24px}
}

/* ---------- элементы */
.tag{display:inline-block;font:700 11px/1 ui-monospace,Consolas,monospace;background:var(--accent);color:var(--accent-ink);
  padding:5px 7px;border-radius:4px;letter-spacing:.05em}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:10px;padding:10px 16px;
  font-weight:700;cursor:pointer;background:var(--card2);color:var(--text);border:1px solid var(--line);white-space:nowrap}
.btn.pri{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
.btn.red{color:var(--red)}
.btn.sm{padding:6px 10px;font-size:13px;border-radius:8px}
.btn:disabled{opacity:.5;cursor:default}
.btn svg{width:18px;height:18px}
.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.grow{flex:1}
.muted{color:var(--muted)}.dim{color:var(--dim)}.small{font-size:13px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px;margin-bottom:10px;box-shadow:var(--shadow)}
.section{margin:22px 0 10px;display:flex;align-items:baseline;gap:8px}
.section h2{font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0}
.section .n{color:var(--dim);font-size:13px}
.empty{color:var(--dim);padding:18px;text-align:center;border:1px dashed var(--line);border-radius:var(--r)}
label.f{display:block;color:var(--muted);font-size:13px;margin:12px 0 5px}
input.i,textarea.i,select.i{width:100%;background:var(--input);border:1px solid var(--line);border-radius:10px;padding:10px 12px;outline:none}
input.i:focus,textarea.i:focus,select.i:focus{border-color:var(--accent)}
textarea.i{resize:vertical;min-height:90px}
.seg{display:inline-flex;background:var(--bg2);border:1px solid var(--line);border-radius:10px;padding:3px}
.seg button{border:0;background:none;padding:6px 12px;border-radius:8px;color:var(--muted);font-weight:600;cursor:pointer}
.seg button.on{background:var(--card2);color:var(--text)}
.chk{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;cursor:pointer}
.chk:hover{background:var(--card2)}
.chk input{accent-color:var(--accent);width:18px;height:18px}
.av{width:30px;height:30px;border-radius:50%;display:inline-grid;place-items:center;font:700 12px/1 system-ui;flex:none;
  background:var(--card2);border:1px solid var(--line);color:var(--text)}
.av.done{background:var(--green);color:var(--ok-ink);border-color:var(--green)}

/* ---------- задачи */
.task{display:flex;gap:12px;align-items:flex-start;cursor:pointer;transition:border-color .15s}
.task:hover{border-color:var(--accent2)}
.task .tick{width:26px;height:26px;border-radius:50%;border:2px solid var(--dim);flex:none;margin-top:1px;background:none;cursor:pointer;
  display:grid;place-items:center;color:transparent;padding:0}
.task .tick svg{width:16px;height:16px}
.task .tick.on{background:var(--green);border-color:var(--green);color:var(--ok-ink)}
.task .tick:disabled{opacity:.25;cursor:default}
.task .t{font-weight:700}
.task.done .t{color:var(--muted);text-decoration:line-through}
.task .meta{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:6px;font-size:13px}
.due{padding:2px 8px;border-radius:6px;font-weight:700;font-size:12px;background:var(--card2);color:var(--muted)}
.due.soon{background:rgba(255,170,0,.14);color:var(--amber)}
.due.today{background:rgba(224,71,76,.12);color:var(--red)}
.due.late{background:var(--red);color:#fff}
.pill{font-size:12px;padding:2px 8px;border-radius:6px;border:1px solid var(--line);color:var(--muted)}
.pill.common{border-color:var(--accent2);color:var(--accent)}
.pill.wait{border-color:rgba(255,194,75,.4);color:var(--amber)}
.avs{display:flex}
.avs .av{width:24px;height:24px;font-size:10px;margin-left:-6px;border:2px solid var(--card)}
.avs .av:first-child{margin-left:0}
.strip{display:flex;gap:10px;overflow-x:auto;padding-bottom:4px;margin-bottom:12px;scrollbar-width:none}
.strip .card{min-width:220px;max-width:260px;margin:0;cursor:pointer}
.plan{border-left:2px solid var(--line);margin:8px 0 0 6px;padding-left:14px}
.plan div{position:relative;padding:3px 0;font-size:13px}
.plan div:before{content:"";position:absolute;left:-19px;top:9px;width:8px;height:8px;border-radius:50%;background:var(--accent)}
.plan div.past{color:var(--dim)}.plan div.past:before{background:var(--dim)}

/* ---------- чаты */
.chatgrid{display:grid;grid-template-columns:300px 1fr;height:100%;min-height:0}
.chatlist{border-right:1px solid var(--line);overflow:auto}
.chatitem{display:flex;gap:12px;align-items:center;padding:12px 16px;cursor:pointer;border-bottom:1px solid var(--line)}
.chatitem:hover,.chatitem.on{background:var(--card)}
.chatitem .av{width:42px;height:42px;font-size:15px}
.chatitem .av.gen{background:var(--accent);color:var(--accent-ink);border:0}
.chatitem .nm{font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chatitem .lm{font-size:13px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.conv{display:flex;flex-direction:column;min-height:0;min-width:0}
.msgs{flex:1;overflow:auto;padding:16px 20px;display:flex;flex-direction:column;gap:6px}
.msg{max-width:min(78%,560px);background:var(--card);border:1px solid var(--line);border-radius:14px 14px 14px 4px;padding:8px 12px;align-self:flex-start;word-wrap:break-word}
.msg.mine{align-self:flex-end;background:var(--mine);border-color:var(--mine-line);border-radius:14px 14px 4px 14px}
.msg .who{font-size:12px;font-weight:700;color:var(--accent);margin-bottom:2px}
.msg .tm{font-size:11px;color:var(--dim);text-align:right;margin-top:2px}
.msg .tx{white-space:pre-wrap}
.msg img,.msg video{display:block;max-width:100%;max-height:320px;border-radius:10px;margin:4px 0}
.msg .file{display:flex;gap:8px;align-items:center;padding:6px 0;text-decoration:none;color:var(--text)}
.msg .file svg,.media .file svg{width:28px;height:28px;flex:none;color:var(--accent)}
.media .file{display:flex;gap:8px;align-items:center;padding:8px;border:1px solid var(--line);border-radius:10px;text-decoration:none;color:var(--text);font-size:13px;overflow:hidden}
.msg.sending{opacity:.6}
.msg .task{margin:4px 0 0;background:var(--bg2)}
.day{align-self:center;font-size:12px;color:var(--dim);margin:10px 0 4px}
.composer{display:flex;gap:8px;align-items:flex-end;padding:10px 12px;border-top:1px solid var(--line);background:var(--bg2)}
.composer textarea{flex:1;max-height:160px;min-height:42px;resize:none;background:var(--input);border:1px solid var(--line);border-radius:12px;padding:10px 12px;outline:none}
.iconbtn{width:42px;height:42px;border-radius:12px;border:1px solid var(--line);background:var(--card);display:grid;place-items:center;cursor:pointer;flex:none;color:var(--muted)}
.iconbtn.pri{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.iconbtn svg{width:20px;height:20px}
@media (max-width:860px){
  .chatgrid{grid-template-columns:1fr}
  .chatgrid.open .chatlist{display:none}
  .chatgrid:not(.open) .conv{display:none}
  .top .back{display:grid}
  .mebtn{display:inline-grid}
  .msgs{padding:12px}
}

/* ---------- отчёты, ИИ */
.media{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:6px;margin-top:10px}
.media img,.media video{width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px;background:#000}
.ai .msg.mine{background:var(--mine)}
.ai .msg{max-width:min(92%,680px)}
.ai .msg .tx p{margin:.3em 0}
table.t{width:100%;border-collapse:collapse;font-size:14px}
table.t td,table.t th{padding:8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
table.t th{color:var(--muted);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.05em}

/* ---------- модалки */
.modal{position:fixed;inset:0;background:var(--scrim);display:flex;align-items:center;justify-content:center;z-index:20;padding:16px}
.sheet{background:var(--bg2);border:1px solid var(--line);border-radius:16px;width:100%;max-width:560px;max-height:92vh;overflow:auto;padding:20px}
.sheet h3{margin:0 0 6px;font-size:20px}
.sheet .acts{display:flex;gap:10px;justify-content:flex-end;margin-top:18px;flex-wrap:wrap}
@media (max-width:860px){
  .modal{align-items:flex-end;padding:0}
  .sheet{border-radius:16px 16px 0 0;max-height:94vh;padding:18px 16px calc(18px + env(safe-area-inset-bottom))}
}
.toast{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(var(--nav) + 20px);background:var(--text);color:var(--bg);
  padding:10px 16px;border-radius:10px;font-weight:600;z-index:30;max-width:90vw}
@media (min-width:861px){.toast{bottom:24px}}

/* ---------- вход */
.auth{min-height:100vh;display:grid;place-items:center;padding:16px;background:var(--pattern) var(--bg)}
.authhead{display:flex;gap:14px;align-items:center;margin-bottom:6px}
.authhead img{width:58px;height:64px;object-fit:contain}
.logo-w{display:none}
:root[data-theme="dark"] .logo-c{display:none}
:root[data-theme="dark"] .logo-w{display:block}
.auth .card{width:100%;max-width:380px;padding:24px}
.auth h1{font-size:26px;margin:12px 0 4px}
.auth h1 b{color:var(--accent)}
.err{color:var(--red);font-size:14px;margin-top:10px}

/* ---------- «Ещё» на телефоне */
.morelist{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;margin-top:12px}
.morebtn{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 8px;border-radius:12px;border:1px solid var(--line);
  background:var(--card);color:var(--text);font-weight:600;cursor:pointer}
.morebtn svg{width:26px;height:26px;color:var(--accent)}

/* ---------- поиск, ответы, меню сообщения */
.chatsearch{position:sticky;top:0;z-index:2;background:var(--bg);padding:12px 12px 0;display:flex;gap:6px;align-items:center}
.chatsearch .i{margin:0;padding:9px 12px;border-radius:10px}
.chatsearch .iconbtn{flex:none}
.sritem .wrap2{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
mark{background:rgba(100,189,225,.35);color:var(--text);border-radius:3px;padding:0 1px}
.msg{position:relative}
.msg .mact{position:absolute;top:2px;right:4px;background:none;border:0;color:var(--dim);font-size:18px;line-height:1;padding:2px 6px;
  border-radius:6px;cursor:pointer;opacity:0;transition:opacity .15s}
.msg:hover .mact{opacity:1}
@media (hover:none){.msg .mact{display:none}}
.msg .rq{display:flex;flex-direction:column;border-left:3px solid var(--accent);background:var(--accent-soft);border-radius:6px;
  padding:4px 8px;margin:2px 0 6px;font-size:13px;cursor:pointer;max-width:100%}
.msg .rq b{color:var(--accent);font-size:12px}
.msg .rq span{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.msg.gone{opacity:.6}
.msg .tk{margin-left:4px;color:var(--dim);letter-spacing:-3px}
.msg .tk.read{color:var(--accent)}
.msg.flash{animation:flash 1.6s ease-out}
@keyframes flash{0%,30%{box-shadow:0 0 0 3px var(--accent)}100%{box-shadow:0 0 0 0 transparent}}
.older{align-self:center;margin:4px 0 8px}
.cbar{display:flex;gap:10px;align-items:center;padding:8px 14px;border-top:1px solid var(--line);background:var(--bg2);border-left:3px solid var(--accent)}
.cbar b{font-size:13px;color:var(--accent)}
.ell{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.quote{border-left:3px solid var(--line);padding:6px 10px;color:var(--muted);font-size:14px;white-space:pre-wrap;max-height:120px;overflow:hidden}
.menulist{display:flex;flex-direction:column;margin-top:12px;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.menubtn{background:var(--card);border:0;border-bottom:1px solid var(--line);color:var(--text);text-align:left;padding:14px 16px;font-weight:600;cursor:pointer}
.menubtn:last-child{border-bottom:0}
.menubtn:hover{background:var(--card2)}
.menubtn.red{color:var(--red)}
.pinbar{display:flex;gap:10px;align-items:center;padding:8px 16px;border-bottom:1px solid var(--line);background:var(--bg2);cursor:pointer}
.pinbar b{font-size:12px;color:var(--accent)}
.pinbar .pi{font-size:16px;color:var(--accent);display:inline-flex}
.pill.hot{border-color:rgba(255,107,107,.45);color:var(--red);font-weight:700}
.card.task.urgent{border-color:rgba(255,107,107,.45)}

/* ---------- фирменный узор и мелочи оформления */
.side{background:var(--bg2)}
.side .nav{margin-top:6px}
.empty{background:var(--pattern) var(--card)}
.top{background:var(--bg2)}
.bottom button.on svg{transform:translateY(-1px)}
.btn{transition:filter .15s,background .15s}
.btn.pri:hover{filter:brightness(1.08)}
.card.task{border-left:3px solid transparent}
.card.task.urgent{border-left-color:var(--red)}
@media (max-width:860px){
  .top .btn.sm svg + span{display:none}      /* на телефоне в шапке — только значки */
  .top .btn.sm{padding:8px}
}

/* ---------- главная */
.home .hero{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-radius:var(--r);margin-bottom:14px;
  background:var(--pattern),linear-gradient(135deg,var(--accent),#3d8fd0 60%,var(--accent2));color:#fff;box-shadow:var(--shadow)}
.home .hello{font-size:22px;font-weight:800}
.home .hero .muted{color:rgba(255,255,255,.85)}
.quick{display:flex;gap:10px;overflow-x:auto;padding:2px 0 12px;scrollbar-width:none}
.qbtn{flex:none;display:flex;flex-direction:column;align-items:center;gap:6px;width:96px;padding:12px 6px;border-radius:12px;
  border:1px solid var(--line);background:var(--card);color:var(--text);font-size:12px;font-weight:700;cursor:pointer;box-shadow:var(--shadow)}
.qbtn svg{width:24px;height:24px;color:var(--accent)}
.hgrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
.hgrid .card{margin:0;min-width:0}
@media (max-width:860px){.hgrid{grid-template-columns:minmax(0,1fr)}}
.hcard .hh{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.hcard .hh svg{width:20px;height:20px;color:var(--accent);flex:none}
.hrow{display:flex;gap:10px;align-items:center;padding:8px 0;border-top:1px solid var(--line);cursor:pointer;min-width:0}
.hh + .hrow,.hsub + .hrow{border-top:0}
.hrow .grow{min-width:0}
.hsub{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin:10px 0 2px}
.hok{color:var(--muted);padding:6px 0}
.htime{font-variant-numeric:tabular-nums;font-weight:700;font-size:13px;color:var(--accent);white-space:nowrap}
.av{position:relative}
.av.online:after{content:"";position:absolute;right:-1px;bottom:-1px;width:11px;height:11px;border-radius:50%;background:var(--green);border:2px solid var(--bg2)}
.top h1 .tsub{display:block;font-size:12px;font-weight:600;color:var(--dim);margin-top:-2px}
.top h1 .tsub.on{color:var(--green)}

@media (max-width:860px){table.t.staff tr>:nth-child(4){display:none}table.t.staff td,table.t.staff th{padding:8px 10px}}

/* файлы задач */
.fbadge{flex:none;min-width:38px;height:24px;padding:0 6px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;
  font:700 10px/1 system-ui,sans-serif;letter-spacing:.03em;color:#fff;background:var(--fc,#646464)}
.tfl{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}
.tfl:empty{display:none}
.fchip{display:flex;align-items:center;gap:10px;padding:6px 6px 6px 10px;border:1px solid var(--line);border-radius:10px;background:var(--card2);min-width:0}
.fchip.up{opacity:.75}
.fname{min-width:0;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow-wrap:anywhere;line-height:1.3}
.fchip .iconbtn{width:32px;height:32px;flex:none}
.flist{display:flex;flex-direction:column;gap:6px;margin-top:4px}
.fileln{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;text-decoration:none;color:var(--text);background:var(--card2);min-width:0}
.fileln:hover{border-color:var(--accent)}
.tmedia{margin:4px 0 8px}
/* чек-лист задачи и шаблоны (2.6) */
.steps{display:flex;flex-direction:column;gap:2px}
.chk.step{padding:7px 4px;align-items:flex-start}
.chk.step input{margin-top:2px}
.chk.step.on .grow{color:var(--muted);text-decoration:line-through;text-decoration-color:var(--dim)}
.chk.step.on .grow .small{text-decoration:none;display:inline-block}
.sbar{height:6px;border-radius:3px;background:var(--line);overflow:hidden;margin:2px 0 6px}
.sbar i{display:block;height:100%;background:var(--green);width:0;transition:width .25s}
.pill.full{color:var(--green);border-color:var(--green)}
.tplrow{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:4px}
.tplrow:empty{display:none}
/* 2.8: ход выполнения задач */
.pill.work{color:var(--accent);border-color:var(--accent2)}
.pill.help{color:var(--red);border-color:var(--red);font-weight:700}
.pill.ret{color:var(--amber);border-color:var(--amber)}
.pill.rev{color:var(--green);border-color:var(--green)}
.st-work{color:var(--accent)}
.st-help{color:var(--red);font-weight:600}
.st-ret{color:var(--amber);font-weight:600}
.st-ok{color:var(--green);font-weight:600}
.arow{border-bottom:1px solid var(--line);padding:2px 0}
.arow:last-child{border-bottom:0}
.aacts{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.anote{margin:0 0 6px 42px;white-space:pre-wrap}
.tbn{border-radius:var(--r);padding:10px 12px;margin:10px 0;border:1px solid var(--line);display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.tbn div{white-space:pre-wrap}
.tbn.ret{border-color:var(--amber);background:color-mix(in srgb,var(--amber) 10%,transparent)}
.tbn.help{border-color:var(--red);background:color-mix(in srgb,var(--red) 8%,transparent)}
.tgroup{font-size:13px;font-weight:700;color:var(--muted);margin:12px 2px 6px;text-transform:none}
.tgroup.late{color:var(--red)}
@media (max-width:520px){.arow .row{flex-wrap:wrap}.aacts{width:100%;justify-content:flex-start;padding-left:42px}}
/* 2.9: задача одной фразой */
.qnote{display:flex;gap:10px;border:1px solid var(--accent2);background:var(--accent-soft);border-radius:var(--r);padding:10px 12px;margin:10px 0 4px}
.qnote>.grow>div+div{margin-top:4px}
.micbig{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;padding:16px;margin:6px 0 12px;border-radius:var(--r);border:1px dashed var(--accent2);background:var(--accent-soft);color:var(--accent);font:inherit;font-weight:700;cursor:pointer}
.micbig .mi{font-size:28px;line-height:1}
.micbig.on{border-style:solid;border-color:var(--accent);animation:micp 1.2s ease-in-out infinite}
@keyframes micp{50%{box-shadow:0 0 0 8px var(--accent-soft)}}
.qmic{font-size:20px;line-height:1}

/* ---------- 2.11: фирменная главная (вариант B) */
:root{--hero:#1c75bc;--hero-ink:#ffffff}
:root[data-theme="dark"]{--hero:#14406b;--hero-ink:#e9f0fa}
body[data-view="home"] .top{background:var(--hero);color:var(--hero-ink);border-bottom-color:transparent}
body[data-view="home"] .top h1{font-size:14px;font-weight:700;opacity:.92}
body[data-view="home"] .top .mebtn{background:rgba(255,255,255,.18);color:var(--hero-ink);border-color:transparent}
.bhero{margin:-16px -20px 0;padding:6px 20px 70px;background:var(--pattern-w),var(--hero);color:var(--hero-ink)}
@media (max-width:860px){.bhero{margin:-14px -16px 0;padding:4px 16px 66px}}
.bhero .hello{font-size:24px;font-weight:800;letter-spacing:-.01em}
.bhero .hsub2{opacity:.82;margin-top:2px}
:root{--pattern-w:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='97' viewBox='0 0 56 97'%3E%3Cg fill='none' stroke='%23ffffff' stroke-opacity='.10' stroke-width='1.2'%3E%3Cpath d='M28 0L56 16v32L28 64 0 48V16z'/%3E%3Cpath d='M0 16l28 16 28-16M28 32v32'/%3E%3Cpath d='M28 64l28 16v17M28 64L0 80v17'/%3E%3C/g%3E%3C/svg%3E")}
.bstats{position:relative;z-index:1;margin-top:-52px;display:flex;background:var(--card);border-radius:18px;padding:12px 4px;box-shadow:0 6px 22px rgba(16,40,70,.12);margin-bottom:16px}
:root[data-theme="dark"] .bstats{box-shadow:0 6px 22px rgba(0,0,0,.35);border:1px solid var(--line)}
.bstats button{flex:1;background:none;border:0;border-left:1px solid var(--line);cursor:pointer;color:var(--text);padding:2px 4px}
.bstats button:first-child{border-left:0}
.bstats b{display:block;font-size:24px;font-weight:800;font-variant-numeric:tabular-nums;line-height:1.2}
.bstats b.bad{color:var(--red)}.bstats b.acc{color:var(--accent)}
.bstats span{font-size:12px;color:var(--muted)}
.bquick{display:flex;justify-content:space-between;gap:8px;margin:0 2px 18px;max-width:460px}
.bquick button{flex:1;display:flex;flex-direction:column;align-items:center;gap:7px;background:none;border:0;cursor:pointer;color:var(--text);font-size:12.5px;font-weight:600;padding:0}
.bquick i{width:54px;height:54px;border-radius:50%;background:var(--card);display:flex;align-items:center;justify-content:center;color:var(--accent);box-shadow:var(--shadow);border:1px solid var(--line)}
.bquick i svg{width:24px;height:24px}
.bquick .main i{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
.hcol{display:flex;flex-direction:column;gap:12px;min-width:0}
.hcol .card{margin:0}
.sec{font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.07em;margin:2px 4px -4px}
#hTasks .hrow,#hCrew .hrow{padding:10px 0;align-items:flex-start}
#hTasks .hrow:first-child,#hCrew .hrow:first-child,.hadv + .hrow{border-top:0}
.ht{font-weight:600}
.tagu{font-size:11px;font-weight:700;color:var(--red);background:rgba(224,71,76,.10);border-radius:6px;padding:1px 6px;vertical-align:1px;white-space:nowrap}
.hadv{display:flex;gap:8px;align-items:flex-start;background:var(--accent-soft);border-radius:10px;padding:8px 10px;margin-bottom:6px;font-size:13.5px}
.hadv svg{width:18px;height:18px;color:var(--accent);flex:none;margin-top:1px}
.hmore{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:10px;margin-top:2px;font-size:13.5px;font-weight:600}
.hmore a{text-decoration:none;display:inline-flex;gap:5px;align-items:center}
.hmore svg{width:16px;height:16px}
#hCrew .av{width:32px;height:32px;font-size:11px;flex:none}
#hCrew .hrow > svg{width:18px;height:18px;color:var(--dim);flex:none;align-self:center}
.hrow .due{flex:none}
#hTeamWrap{display:flex;flex-direction:column;gap:12px}
#hTeamWrap.hidden{display:none}
/* 2.11: единые плашки и значки вместо эмодзи */
.ii{width:14px;height:14px;flex:none;vertical-align:-2px}
.pill{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:600;padding:3px 9px;border-radius:999px;border:0;background:var(--card2);color:var(--muted);line-height:1.35}
.pill.common{background:var(--accent-soft);color:var(--accent)}
.pill.hot,.pill.help{background:color-mix(in srgb,var(--red) 12%,transparent);color:var(--red);font-weight:700}
.pill.ret,.pill.wait{background:color-mix(in srgb,var(--amber) 14%,transparent);color:var(--amber)}
.pill.work{background:var(--accent-soft);color:var(--accent)}
.pill.full,.pill.rev{background:color-mix(in srgb,var(--green) 13%,transparent);color:var(--green)}
.due{border-radius:999px;padding:3px 9px;line-height:1.35}
.st-work,.st-help,.st-ret,.st-ok{display:inline-flex;align-items:center;gap:4px}
.tbn b{display:inline-flex;align-items:center;gap:6px}
.iconbtn.nudge{width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:var(--card);color:var(--accent)}
.iconbtn.nudge svg{width:18px;height:18px}
.iconbtn.nudge.ok{color:var(--green)}
.micbig .mi svg{width:30px;height:30px}
.mkchip{display:inline-flex;align-items:center;gap:5px}
.chk .grow .ii{color:var(--accent)}
.tag{font:700 11px/1 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;letter-spacing:.06em;background:var(--accent-soft);color:var(--accent);padding:5px 9px;border-radius:999px}
.arow > .row{flex-wrap:nowrap;align-items:center}
.arow > .row > .grow{flex:1;min-width:0}
.arow .grow > .dim.small{display:block}
.aacts{flex:none;display:flex;gap:6px;align-items:center;width:auto;padding-left:0}
/* 2.11: значок поиска вместо эмодзи */
.chatsearch .i,input.i.srch{padding-left:36px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238a96a3' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:11px center;background-size:18px}
.sesslist .hrow:first-child{border-top:0}
.pwbox{position:relative}.pwbox .i{padding-right:48px}.pwbox .iconbtn{position:absolute;right:4px;top:50%;transform:translateY(-50%);border:0;background:none}.pwbox .iconbtn.on{color:var(--accent)}
