/* Пульт — стили. Светлая и тёмно-синяя темы. */
:root{
  --bg:#f4f6fa; --panel:#ffffff; --panel-2:#f8fafc; --border:#e3e8f0; --text:#0f1b2d; --muted:#64748b;
  --accent:#2f6fde; --accent-soft:#e8f0fe; --danger:#d93636; --danger-soft:#fdecec; --warn:#c77800;
  --warn-soft:#fff4e0; --ok:#15803d; --ok-soft:#e7f6ec; --shadow:0 1px 2px rgba(15,27,45,.05),0 4px 14px rgba(15,27,45,.05);
  --radius:14px; --side:252px; --font:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
}
[data-theme="dark"]{
  --bg:#0b1628; --panel:#111f36; --panel-2:#0f1c31; --border:#1f3152; --text:#e6edf7; --muted:#8ea0bb;
  --accent:#5b8ff0; --accent-soft:#16294b; --danger:#f26b6b; --danger-soft:#3a1a22; --warn:#f0b44c;
  --warn-soft:#33281a; --ok:#4cc47a; --ok-soft:#14321f; --shadow:0 1px 2px rgba(0,0,0,.25),0 6px 18px rgba(0,0,0,.25);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:var(--font);background:var(--bg);color:var(--text);font-size:15px;line-height:1.45;-webkit-font-smoothing:antialiased}
a{color:var(--accent);text-decoration:none} a:hover{text-decoration:underline}
h1{font-size:26px;margin:0 0 4px;letter-spacing:-.01em} h2{font-size:18px;margin:0 0 12px} h3{font-size:15px;margin:0 0 8px}
.muted{color:var(--muted)} .small{font-size:13px} .nowrap{white-space:nowrap}
.layout{display:flex;min-height:100vh}
/* sidebar */
.sidebar{width:var(--side);flex:0 0 var(--side);background:var(--panel);border-right:1px solid var(--border);padding:14px 10px 20px;
  position:sticky;top:0;height:100vh;overflow-y:auto;z-index:40}
.brand{display:flex;align-items:center;gap:10px;padding:6px 10px 14px;font-weight:700;font-size:18px;color:var(--text)}
.brand-logo{width:30px;height:30px;border-radius:9px;background:var(--accent);display:grid;place-items:center;color:#fff;font-size:15px}
.nav-group{margin:14px 0 4px;padding:0 10px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.nav a{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:9px;color:var(--text);font-size:14px}
.nav a:hover{background:var(--panel-2);text-decoration:none}
.nav a.active{background:var(--accent-soft);color:var(--accent);font-weight:600}
.nav .ico{width:18px;text-align:center;opacity:.8}
.nav .badge{margin-left:auto}
.dot{width:9px;height:9px;border-radius:50%;flex:0 0 9px}
.badge{display:inline-block;min-width:20px;padding:1px 7px;border-radius:999px;background:var(--accent);color:#fff;font-size:12px;font-weight:600;text-align:center}
.badge.gray{background:var(--panel-2);color:var(--muted);border:1px solid var(--border)}
.badge.red{background:var(--danger)} .badge.warn{background:var(--warn)}
/* main */
.main{flex:1;min-width:0;display:flex;flex-direction:column}
.topbar{display:flex;align-items:center;gap:10px;padding:14px 28px;border-bottom:1px solid var(--border);background:var(--panel);position:sticky;top:0;z-index:30}
.topbar .spacer{flex:1}
.content{padding:24px 28px 60px;max-width:1400px;width:100%}
.burger{display:none;background:none;border:1px solid var(--border);border-radius:9px;padding:6px 10px;color:var(--text);font-size:18px;cursor:pointer}
.iconbtn{background:var(--panel-2);border:1px solid var(--border);border-radius:9px;padding:6px 10px;color:var(--text);cursor:pointer;font-size:14px}
.pill-link{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-weight:600;font-size:13px}
/* cards */
.grid{display:grid;gap:16px}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))} .g3{grid-template-columns:repeat(3,minmax(0,1fr))} .g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow);min-width:0}
.card h2{display:flex;align-items:center;gap:8px}
.card h2 .right{margin-left:auto;font-size:13px;font-weight:500}
.stat{display:flex;flex-direction:column;gap:2px}
.stat .num{font-size:30px;font-weight:700;letter-spacing:-.02em}
.stat .lbl{color:var(--muted);font-size:13px}
.stat.danger .num{color:var(--danger)} .stat.warn .num{color:var(--warn)}
.page-head{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap;margin-bottom:20px}
.page-head .actions{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}
/* lists */
.list{list-style:none;margin:0;padding:0}
.list li{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--border)}
.list li:last-child{border-bottom:none}
.list .grow{flex:1;min-width:0}
.list .title{overflow:hidden;text-overflow:ellipsis}
.empty{color:var(--muted);padding:14px 0;font-size:14px}
.tag{display:inline-flex;align-items:center;gap:6px;padding:2px 8px;border-radius:999px;font-size:12px;background:var(--panel-2);border:1px solid var(--border);color:var(--muted);white-space:nowrap}
.tag.sample{background:var(--warn-soft);color:var(--warn);border-color:transparent}
.tag.p-urgent{background:var(--danger-soft);color:var(--danger);border-color:transparent}
.tag.p-high{background:var(--warn-soft);color:var(--warn);border-color:transparent}
.tag.ok{background:var(--ok-soft);color:var(--ok);border-color:transparent}
.tag.err{background:var(--danger-soft);color:var(--danger);border-color:transparent}
.tag.blocking{background:var(--danger-soft);color:var(--danger);border-color:transparent;font-weight:600}
/* forms */
label{display:block;font-size:13px;color:var(--muted);margin:10px 0 4px}
input[type=text],input[type=email],input[type=password],input[type=number],input[type=date],input[type=time],input[type=url],input[type=search],select,textarea{
  width:100%;padding:9px 11px;border-radius:10px;border:1px solid var(--border);background:var(--panel-2);color:var(--text);font:inherit;font-size:14px}
textarea{min-height:90px;resize:vertical}
input:focus,select:focus,textarea:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}
.check{display:flex;align-items:center;gap:8px;color:var(--text);font-size:14px;margin:10px 0}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end}
.row>*{flex:1;min-width:140px}
.row>.shrink{flex:0 0 auto;min-width:0}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 15px;border-radius:10px;border:1px solid var(--accent);background:var(--accent);color:#fff;
  font:inherit;font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap}
.btn:hover{filter:brightness(1.05);text-decoration:none}
.btn.secondary{background:var(--panel);color:var(--text);border-color:var(--border)}
.btn.ghost{background:transparent;color:var(--muted);border-color:transparent;padding:6px 8px}
.btn.danger{background:var(--danger);border-color:var(--danger)}
.btn.ok{background:var(--ok);border-color:var(--ok)}
.btn.sm{padding:5px 10px;font-size:13px;border-radius:8px}
.inline{display:inline}
.flash{padding:11px 14px;border-radius:10px;margin-bottom:16px;background:var(--ok-soft);color:var(--ok);font-size:14px}
.flash.error{background:var(--danger-soft);color:var(--danger)}
.hint{background:var(--accent-soft);color:var(--text);padding:10px 12px;border-radius:10px;font-size:13px;margin:10px 0}
details.box{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:0;box-shadow:var(--shadow);margin-bottom:16px}
details.box>summary{cursor:pointer;padding:14px 18px;font-weight:600;list-style:none;display:flex;align-items:center;gap:8px}
details.box>summary::-webkit-details-marker{display:none}
details.box>summary::before{content:"+";display:inline-grid;place-items:center;width:22px;height:22px;border-radius:6px;background:var(--accent-soft);color:var(--accent)}
details.box[open]>summary::before{content:"–"}
details.box>.inner{padding:0 18px 18px}
/* tabs */
.tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin-bottom:18px;overflow-x:auto;scrollbar-width:none}
.tabs a{padding:9px 14px;color:var(--muted);border-bottom:2px solid transparent;white-space:nowrap;font-weight:500}
.tabs a.active{color:var(--accent);border-bottom-color:var(--accent)}
.tabs a:hover{text-decoration:none;color:var(--text)}
.chips{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}
.chip{padding:5px 11px;border-radius:999px;border:1px solid var(--border);background:var(--panel);color:var(--text);font-size:13px;cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.chip.active{background:var(--accent);color:#fff;border-color:var(--accent)}
.chip:hover{text-decoration:none}
/* kanban */
.kanban{display:grid;grid-template-columns:repeat(4,minmax(220px,1fr));gap:14px;overflow-x:auto;padding-bottom:6px}
.kcol{background:var(--panel-2);border:1px solid var(--border);border-radius:var(--radius);padding:10px;min-height:200px}
.kcol.drag-over{outline:2px dashed var(--accent)}
.kcol h3{display:flex;align-items:center;gap:8px;padding:4px 4px 8px;font-size:14px}
.kcard{background:var(--panel);border:1px solid var(--border);border-radius:11px;padding:10px 11px;margin-bottom:8px;box-shadow:var(--shadow);cursor:grab}
.kcard.dragging{opacity:.5}
.kcard .t{font-weight:600;font-size:14px;margin-bottom:6px;word-break:break-word}
.kcard .meta{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.kcard .acts{display:flex;gap:4px;margin-top:8px;flex-wrap:wrap}
.kcard .acts form{display:inline}
.overdue{color:var(--danger);font-weight:600}
/* mail */
.mail-row{display:flex;gap:12px;padding:11px 4px;border-bottom:1px solid var(--border);color:var(--text)}
.mail-row:hover{background:var(--panel-2);text-decoration:none}
.mail-row.unread .subj{font-weight:700}
.mail-row .from{width:200px;flex:0 0 200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mail-row .body{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mail-row .date{flex:0 0 auto;color:var(--muted);font-size:13px}
.msg-body{white-space:pre-wrap;word-wrap:break-word;font-size:14px;line-height:1.55}
.prewrap{white-space:pre-wrap;word-wrap:break-word}
/* approvals */
.appr{border-left:4px solid var(--accent)}
.appr.approved{border-left-color:var(--ok)} .appr.rejected{border-left-color:var(--danger)}
.comment{background:var(--panel-2);border-radius:9px;padding:8px 10px;margin-top:6px;font-size:13px}
/* table */
table.t{width:100%;border-collapse:collapse;font-size:14px}
table.t th,table.t td{padding:9px 8px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}
table.t th{color:var(--muted);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.04em}
.table-wrap{overflow-x:auto}
/* auth */
.auth{min-height:100vh;display:grid;place-items:center;padding:20px}
.auth .card{width:100%;max-width:400px;padding:28px}
/* calendar */
#calendar{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:12px;box-shadow:var(--shadow)}
.fc{--fc-border-color:var(--border);--fc-page-bg-color:var(--panel);--fc-neutral-bg-color:var(--panel-2);--fc-today-bg-color:var(--accent-soft);
  --fc-button-bg-color:var(--panel);--fc-button-text-color:var(--text);--fc-button-border-color:var(--border);
  --fc-button-hover-bg-color:var(--panel-2);--fc-button-hover-border-color:var(--border);--fc-button-active-bg-color:var(--accent);
  --fc-button-active-border-color:var(--accent);--fc-list-event-hover-bg-color:var(--panel-2);font-size:13px}
.fc .fc-button-primary:not(:disabled).fc-button-active{color:#fff}
.fc .fc-toolbar-title{font-size:18px}
.fc .fc-col-header-cell-cushion,.fc .fc-daygrid-day-number{color:var(--text)}
.fc-task .fc-event-title{font-style:italic}
.fc-task-done{opacity:.55;text-decoration:line-through}
dialog{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);color:var(--text);padding:20px;width:min(520px,94vw);box-shadow:0 20px 60px rgba(0,0,0,.3)}
dialog::backdrop{background:rgba(8,15,30,.55)}
.overlay{display:none}
/* responsive */
@media (max-width:1100px){.g4{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:860px){
  .sidebar{position:fixed;left:0;top:0;transform:translateX(-105%);transition:transform .2s ease;box-shadow:0 0 40px rgba(0,0,0,.25)}
  body.menu-open .sidebar{transform:none}
  body.menu-open .overlay{display:block;position:fixed;inset:0;background:rgba(8,15,30,.45);z-index:35}
  .burger{display:inline-block}
  .topbar{padding:10px 14px}
  .content{padding:16px 14px 50px}
  .g2,.g3{grid-template-columns:1fr}
  .kanban{grid-template-columns:1fr;overflow:visible}
  .kcol{min-height:0}
  .mail-row{flex-wrap:wrap;gap:2px 10px}
  .mail-row .from{width:auto;flex:1 1 60%}
  .mail-row .body{flex:1 1 100%;order:3}
  h1{font-size:22px}
  .hide-m{display:none}
  .fc .fc-toolbar{flex-wrap:wrap;gap:8px}
  .fc .fc-toolbar-title{font-size:16px}
}
@media (max-width:480px){.g4{grid-template-columns:repeat(2,minmax(0,1fr))}.stat .num{font-size:24px}}
.hide-desktop{display:none}
@media (max-width:860px){.hide-desktop{display:inline}}
code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.92em;background:var(--panel-2);padding:1px 5px;border-radius:5px}

/* ===== v2 ===== */
.fail-banner a{font-weight:600}
.progress{position:relative;height:9px;border-radius:999px;background:var(--panel-2);border:1px solid var(--border);overflow:visible;margin:6px 0}
.progress .bar{height:100%;border-radius:999px;background:var(--accent);transition:width .3s}
.progress .bar.behind{background:var(--warn)}
.progress .expected{position:absolute;top:-4px;bottom:-4px;width:2px;background:var(--text);opacity:.45;border-radius:2px}
.score{display:inline-grid;place-items:center;min-width:24px;height:22px;padding:0 6px;border-radius:7px;font-size:12px;font-weight:700;vertical-align:middle}
.score.shi{background:var(--danger-soft);color:var(--danger)}
.score.smid{background:var(--warn-soft);color:var(--warn)}
.score.slo{background:var(--panel-2);color:var(--muted);border:1px solid var(--border)}
.importance-form select{padding:4px 8px}
/* план дня */
.timeline{list-style:none;margin:0;padding:0;border-left:2px solid var(--border);margin-left:6px}
.timeline li{position:relative;display:flex;flex-wrap:wrap;gap:2px 12px;padding:8px 0 8px 16px}
.timeline li::before{content:"";position:absolute;left:-6px;top:14px;width:10px;height:10px;border-radius:50%;background:var(--panel);border:2px solid var(--muted)}
.timeline li.tl-event::before{border-color:var(--accent);background:var(--accent)}
.timeline li.tl-block::before{border-color:var(--ok)}
.timeline li.tl-deep::before{border-color:var(--accent)}
.timeline li.tl-buffer::before,.timeline li.tl-break::before{border-color:var(--border)}
.timeline li.empty{padding-left:16px}
.timeline li.empty::before{display:none}
.tl-time{flex:0 0 96px;font-variant-numeric:tabular-nums;color:var(--muted);font-size:13px;padding-top:1px}
.tl-title{flex:1;min-width:0}
.tl-block .tl-title{font-weight:600}
.tl-reason{flex:1 1 100%;padding-left:108px}
.tl-allday .tl-title{font-style:italic}
/* онбординг */
.steps{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0 18px}
.step{display:flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;border:1px solid var(--border);background:var(--panel);color:var(--text);font-size:14px}
.step:hover{text-decoration:none;border-color:var(--accent)}
.step.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent);font-weight:600}
.step.done .n{background:var(--ok);color:#fff}
.step .n{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--panel-2);font-size:12px;font-weight:700}
.step.active .n{background:var(--accent);color:#fff}
.qa{padding:12px 0;border-bottom:1px solid var(--border)}
.qa:last-of-type{border-bottom:0}
.qa textarea{margin-top:6px}
/* контекст-карточки */
.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.ctx-card{border:1px solid var(--border);border-radius:12px;padding:12px 14px;background:var(--panel-2);min-width:0}
.ctx-card .prewrap{margin-top:4px;font-size:14px}
.ctx-card.empty-card{border-style:dashed;background:transparent}
.ctx-card.empty-card .prewrap{color:var(--muted)}
/* приоритеты */
.prio{border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:12px;padding:12px 14px;margin-bottom:10px;background:var(--panel)}
.prio.done{border-left-color:var(--ok);opacity:.85}
.prio.dropped{border-left-color:var(--border);opacity:.6}
.prio ul{margin:6px 0 0;padding-left:18px}
/* расписание */
.jobs{display:grid;gap:12px}
.job{border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;background:var(--panel);box-shadow:var(--shadow)}
.job-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.job-head .grow{flex:1;min-width:180px}
.job-meta{display:flex;flex-wrap:wrap;gap:4px 18px;color:var(--muted);margin-top:6px}
.runs{display:flex;gap:3px;margin-top:10px;flex-wrap:wrap}
.run{width:10px;height:18px;border-radius:3px;background:var(--border)}
.run.ok{background:var(--ok)} .run.error{background:var(--danger)} .run.skipped{background:var(--warn);opacity:.6} .run.running{background:var(--accent)}
/* база знаний */
.kb-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:16px;align-items:start}
.md{line-height:1.6;overflow-wrap:anywhere}
.md h1,.md h2,.md h3{margin:18px 0 8px} .md h1:first-child,.md h2:first-child{margin-top:0}
.md p{margin:0 0 10px} .md ul,.md ol{margin:0 0 10px;padding-left:22px}
.md pre{background:var(--panel-2);padding:10px;border-radius:9px;overflow-x:auto}
.md blockquote{margin:0 0 10px;padding:4px 12px;border-left:3px solid var(--border);color:var(--muted)}
.md a.wikilink{border-bottom:1px dashed var(--accent)} .md a.missing{color:var(--danger);border-bottom:1px dashed var(--danger)}
.md table{border-collapse:collapse} .md td,.md th{border:1px solid var(--border);padding:4px 8px}
.skill{min-width:0}
/* аудит */
.audit-top{display:grid;grid-template-columns:260px minmax(0,1fr);gap:16px;margin-bottom:16px}
.score-card{text-align:center;display:flex;flex-direction:column;justify-content:center}
.big-score{font-size:64px;font-weight:800;line-height:1;letter-spacing:-.03em}
.big-score span{font-size:20px;color:var(--muted);font-weight:600}
.big-score.ok{color:var(--ok)} .big-score.warn{color:var(--warn)} .big-score.err{color:var(--danger)}
.c-row{padding:8px 0;border-bottom:1px solid var(--border)} .c-row:last-child{border-bottom:0}
.gaps{margin:0;padding-left:20px} .gaps li{margin-bottom:10px}
/* карта подключений */
.conn-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}
.conn{border:1px solid var(--border);border-radius:12px;padding:12px 14px;background:var(--panel-2)}
.conn select,.conn input{margin-top:6px}
/* сегодня */
.today-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
.today-grid .span2{grid-column:1/-1}
a.stat.link{display:block;color:inherit} a.stat.link:hover{text-decoration:none;border-color:var(--accent)}
@media (max-width:860px){
  .today-grid,.kb-layout,.audit-top{grid-template-columns:1fr}
  .tl-time{flex-basis:84px}.tl-reason{padding-left:0}
  .big-score{font-size:52px}
  .steps{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px}
  .step{white-space:nowrap}
  .cards-grid,.conn-grid{grid-template-columns:1fr}
  table.t{font-size:13px}
}
.tag.warn{background:var(--warn-soft);color:var(--warn);border-color:transparent}
.chip.sm{padding:1px 7px;font-size:11px;cursor:default}

/* v2: подпись версии над логотипом */
.brand-version{display:inline-block;margin:0 10px 6px;padding:2px 9px;border-radius:999px;background:var(--accent);color:#fff;font-size:12px;font-weight:700;letter-spacing:.3px}
.version-pill{padding:2px 8px;border-radius:999px;background:var(--accent);color:#fff;font-size:12px;font-weight:700;white-space:nowrap}
@media (max-width:860px){.topbar{gap:8px}.topbar>strong.hide-desktop{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar .iconbtn,.topbar .pill-link,.topbar .burger,.version-pill{flex-shrink:0}}

/* v2.1: рамка измерения целей, «Главное», единый список задач, Битрикс24 */
.warn-text{color:var(--warn)}
.measure{margin:8px 0 4px}
.measure-num{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:8px;align-items:end}
.measure-num label{font-size:12px;color:var(--muted);margin:0;display:flex;flex-direction:column;gap:3px}
.measure-num input{padding:6px 8px;min-width:0}
.measure-add{display:flex;gap:8px;margin-top:6px}
.measure-add input{flex:1;min-width:0;padding:6px 8px}
.prio ul.checklist{list-style:none;padding:0;margin:4px 0}
.checklist li{padding:3px 0}
.checklist form{display:flex;align-items:center;gap:8px}
.ms-box{width:22px;height:22px;flex:0 0 22px;border:1.5px solid var(--border);border-radius:6px;background:var(--panel);cursor:pointer;font-size:13px;line-height:1;padding:0;color:#fff}
.ms-box.on{background:var(--ok);border-color:var(--ok)}
.ms-del{margin-left:auto;padding:2px 8px}
.done-text{text-decoration:line-through;color:var(--muted)}
.focus-card{border-left:4px solid var(--warn)}
.focus-list{margin:0;padding-left:20px}
.focus-list li{margin:0 0 10px}
.focus-item{display:block;border:1px solid var(--border);border-radius:12px;padding:10px 12px;color:inherit;text-decoration:none}
.focus-item:hover{border-color:var(--accent)}
.src-tag{font-size:11px;padding:1px 6px;border-radius:6px;background:var(--accent-soft);color:var(--muted)}
@media (max-width:760px){
  .measure-num{grid-template-columns:repeat(2,minmax(0,1fr))}
  .measure-num button{grid-column:1/-1}
}

/* ассистент: чат */
.chat { display: flex; flex-direction: column; gap: 10px; max-height: 70vh; overflow-y: auto; }
.bubble { max-width: 78%; padding: 10px 12px; border-radius: 12px; background: var(--panel-2); border: 1px solid var(--border); color: var(--text); }
.bubble.me { align-self: flex-end; background: var(--accent-soft); border-color: color-mix(in srgb, var(--accent) 35%, var(--border)); }
.bubble.bot { align-self: flex-start; border-left: 3px solid var(--ok); }
.bubble-text { line-height: 1.5; }
.bubble-text code { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .92em; background: var(--panel); border: 1px solid var(--border); border-radius: 5px; padding: 0 4px; }
.bubble-text pre { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 13px; background: var(--panel); border: 1px solid var(--border); border-radius: 8px; padding: 8px 10px; overflow-x: auto; margin: 6px 0; white-space: pre-wrap; }
.bubble-text pre code { border: 0; padding: 0; background: none; }
.bubble-text a { color: var(--accent); text-decoration: underline; }
.bubble-meta { font-size: 12px; color: var(--muted); margin-bottom: 4px; display: flex; gap: 6px; flex-wrap: wrap; align-items: center; }
.chat-form { margin-top: 12px; display: flex; flex-direction: column; gap: 8px; }
.chat-form textarea { width: 100%; }
@media (max-width: 760px) { .bubble { max-width: 92%; } }

/* ---- почта v2.2: строки с действиями, карточка письма, вложения ---- */
.mlist{padding:4px 12px}
.mrow{display:flex;gap:10px;align-items:center;padding:9px 2px;border-bottom:1px solid var(--border)}
.mrow:last-child{border-bottom:none}
.mrow:hover{background:var(--panel-2)}
.mrow-main{flex:1;min-width:0;color:var(--text);display:block}
.mrow-main:hover{text-decoration:none}
.mrow-top{display:flex;align-items:center;gap:6px;min-width:0}
.mrow .mfrom{font-size:13px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:46%}
.mrow .mdate{margin-left:auto;font-size:12px;color:var(--muted);white-space:nowrap;padding-left:8px}
.mrow .msubj{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}
.mrow .msum{font-size:12.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mrow.unread .msubj{font-weight:700}
.mrow.unread .mfrom{color:var(--text)}
.mrow.muted-row .mrow-main{opacity:.55}
.mrow.muted-row .msubj{font-weight:400}
.mrow.done-row .mrow-main{opacity:.5}
.mrow.done-row .msubj{text-decoration:line-through;text-decoration-color:var(--muted)}
.mrow .dot{width:8px;height:8px;border-radius:50%;flex:none}
.mrow-acts{display:flex;gap:4px;align-items:center;flex:none}
.mrow-acts form{margin:0}
.mrow-acts .btn.sm{padding:4px 8px;font-size:12px}
.mflag-sel{width:auto!important;padding:3px 6px!important;font-size:12px!important;border-radius:8px!important;max-width:118px}
.mflag-sel.mflag-high{border-color:var(--danger)!important;color:var(--danger)}
.mflag-sel.mflag-normal{border-color:var(--warn)!important}
.mrow:not(:hover) .mrow-acts .mflag-sel.mflag-none,.mrow:not(:hover) .mrow-acts .btn.ghost{opacity:.55}
.tag.mcat{padding:1px 7px;font-size:11px}
.tag.mcat-newsletter,.tag.mcat-auto{background:transparent;border-style:dashed}
.tag.mcat-lead{background:var(--accent-soft);color:var(--accent);border-color:transparent}
.tag.mcat-spam{background:transparent;color:var(--danger);border-color:var(--danger);opacity:.8}
.tag.mflag{padding:1px 7px;font-size:11px}
.tag.mflag-high{background:var(--danger-soft);color:var(--danger);border-color:transparent}
.tag.mflag-normal{background:var(--warn-soft);color:var(--warn);border-color:transparent}
.tag.mtask{background:var(--ok-soft);color:var(--ok);border-color:transparent;padding:1px 7px;font-size:11px}
.matt{font-size:12px;color:var(--muted)}
.chip .cnt{font-size:11px;opacity:.75}
.mrow.compact{padding:7px 0}
@media (max-width:760px){.mrow{flex-wrap:wrap}.mrow-acts{width:100%;justify-content:flex-end}.mrow .mfrom{max-width:60%}}

.msg-card h1{font-size:21px;margin:0 0 4px}
.msg-card.muted-row h1{color:var(--muted)}
.msg-head{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}
.msg-tags{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.msg-from{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:8px 0;border-top:1px solid var(--border)}
.maddr{display:flex;flex-wrap:wrap;gap:4px;align-items:center;font-size:13px;margin:2px 0}
.maddr .lbl{color:var(--muted);width:52px;flex:none}
.pill{display:inline-block;padding:1px 8px;border-radius:999px;background:var(--panel-2);border:1px solid var(--border);font-size:12.5px}
.inline-more{display:inline}
.inline-more summary{display:inline;cursor:pointer;color:var(--accent);font-size:12.5px;list-style:none}
.inline-more summary::-webkit-details-marker{display:none}
.inline-more[open] summary{display:none}
.inline-more .more-list{display:inline-flex;flex-wrap:wrap;gap:4px}
.msg-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:12px 0}
.msg-actions .mrow-acts{gap:6px}
.more-menu{position:relative}
.more-menu summary{list-style:none}
.more-menu summary::-webkit-details-marker{display:none}
.more-pop{position:absolute;z-index:20;top:34px;left:0;width:290px;background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:12px;box-shadow:0 12px 30px rgba(0,0,0,.35);display:flex;flex-direction:column;gap:10px}
.more-pop label{margin:0 0 4px;display:block}
.msum-card{background:var(--panel-2);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:12px;padding:12px 14px;margin:6px 0 14px}
.msum-head{display:flex;align-items:center;gap:8px;font-weight:700;margin-bottom:6px}
.msum-head .right{margin-left:auto}
.msum-card dl{display:grid;grid-template-columns:130px 1fr;gap:5px 12px;margin:0;font-size:14px}
.msum-card dt{color:var(--muted)}
.msum-card dd{margin:0}
.msum-card dd.next{font-weight:600}
@media (max-width:640px){.msum-card dl{grid-template-columns:1fr}.msum-card dt{margin-top:6px}}
.matts{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:8px;margin:0 0 14px}
.matt-item{display:flex;gap:10px;align-items:center;background:var(--panel-2);border:1px solid var(--border);border-radius:10px;padding:8px 10px}
.matt-item .ico{font-size:22px}
.matt-item .name{font-size:13.5px;overflow-wrap:anywhere}
.matt-item .grow{flex:1;min-width:0}
.matt-item .btn,.matt-item .ico{flex-shrink:0}
.msg-text{font-size:15px;line-height:1.6;max-width:820px;overflow-wrap:anywhere}
.msg-text p{margin:0 0 .8em}
.msg-text a{word-break:break-all}
.msg-fold{margin:8px 0;border-top:1px dashed var(--border);padding-top:6px}
.msg-fold summary{cursor:pointer;color:var(--muted);font-size:13px}
.msg-quote,.msg-sig{color:var(--muted);font-size:14px;border-left:3px solid var(--border);padding-left:12px;margin-top:8px}
.msg-html{width:100%;height:70vh;border:1px solid var(--border);border-radius:10px;background:#fff}
.att-frame{width:100%;height:78vh;border:1px solid var(--border);border-radius:10px;background:#fff}
.att-img{max-width:100%;border-radius:8px}
.xlsx-wrap{overflow:auto;max-height:72vh;border:1px solid var(--border);border-radius:10px}
table.xlsx{border-collapse:collapse;font-size:12.5px;min-width:100%}
table.xlsx th,table.xlsx td{border:1px solid var(--border);padding:4px 8px;white-space:nowrap;max-width:320px;overflow:hidden;text-overflow:ellipsis}
table.xlsx thead th{position:sticky;top:0;background:var(--panel-2);color:var(--muted);font-weight:500;z-index:1}
table.xlsx tbody th{background:var(--panel-2);color:var(--muted);font-weight:400;position:sticky;left:0}
table.xlsx td.num{text-align:right;font-variant-numeric:tabular-nums}
table.xlsx tbody tr:hover td{background:var(--panel-2)}
.sheet-tabs{margin-bottom:8px}
/* соцсети проекта */
.social-card{grid-column:1/-1}
.social-card h2 form{display:inline}
.social-totals{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px;margin-bottom:12px}
.stot{display:block;padding:8px 10px;border:1px solid var(--border);border-radius:10px;background:var(--panel-2);color:var(--text)}
.stot:hover{text-decoration:none;border-color:var(--accent)}
.stot-h{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:4px}
.stot-n{font-size:18px;font-weight:600}
.stot-m{display:flex;gap:10px;flex-wrap:wrap;font-size:12px;color:var(--muted)}
.stot-why{margin-top:2px;line-height:1.3}
.smet{white-space:nowrap}
.snet{display:inline-block;padding:1px 7px;border-radius:999px;font-size:11px;font-weight:600;color:#fff;background:var(--muted)}
.snet-telegram{background:#229ed9}.snet-vk{background:#0077ff}
.snet-instagram{background:linear-gradient(45deg,#f09433,#dc2743 50%,#bc1888)}.snet-max{background:#7b3fe4}
.social-posts .spost{display:block;color:var(--text);margin:2px 0;overflow-wrap:anywhere}
.social-posts .spost:hover{color:var(--accent)}
.social-card details{margin-top:10px}
.social-card details summary{cursor:pointer}

/* ВК-уведомления из почты */
.vk-badge{display:inline-block;padding:1px 6px;border-radius:5px;font-size:11px;font-weight:700;letter-spacing:.3px;color:#fff;background:#0077ff;margin-right:6px;vertical-align:1px}
.tag.mcat-vk{background:rgba(0,119,255,.12);color:#0077ff;border-color:transparent}
.mrow.vk-row{border-left:3px solid #0077ff}
.mrow.vk-row .msubj.vk-text{font-weight:400;color:var(--text)}
.vk-open{white-space:nowrap;align-self:center}
.vk-feed .vk-card{border:1px solid var(--border);border-left:3px solid #0077ff;border-radius:10px;padding:10px 12px;margin-bottom:8px;background:var(--panel-2)}
.vk-card-top{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.vk-card-top .vk-title{font-weight:600;color:var(--text)}
.vk-card-top .mdate{margin-left:auto;color:var(--muted);font-size:12px}
.vk-card .vk-text{margin:6px 0 8px;white-space:pre-line}
