:root{
  --font:'Golos Text',system-ui,sans-serif;
  --bg:#F2F5FA; --side-bg:#FFFFFF; --side-border:#DCE4F0; --side-text:#1B2A41; --side-muted:#5C6B82;
  --active-bg:#E8F0FC; --active-text:#0B5BD3; --badge-bg:#0B5BD3; --badge-text:#FFFFFF;
  --card-bg:#FFFFFF; --card-border:#DCE4F0;
  --kpi-bg:#FFFFFF; --kpi-text:#1B2A41; --kpi-muted:#5C6B82; --kpi-icon-bg:#E8F0FC; --kpi-icon:#0B5BD3; --kpi-pill-bg:#E7F4EE; --kpi-pill-text:#1E8E5A;
  --ink:#1B2A41; --muted:#5C6B82; --line:#DCE4F0; --input-bg:#F2F5FA; --btn-bg:#14355F; --btn-text:#FFFFFF; --accent:#0B5BD3; --navy:#14355F;
  --chart-stroke:#0B5BD3; --chart-fill:#E3EDFB; --d1:#0B5BD3; --d2:#14355F; --d3:#C7D7F2;
  --day-sel-bg:#0B5BD3; --day-sel-text:#FFFFFF; --day-bg:#F2F5FA; --thead-bg:#F6F8FC; --icon-chip:#E8F0FC;
  --ok:#1E8E5A; --ok-bg:#E7F4EE; --warn:#A9560A; --warn-bg:#FBF0E2; --bad:#C43D3D; --bad-bg:#F9E9E9; --acc-bg:#E8F0FC;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{font-family:var(--font);background:var(--bg);color:var(--ink);font-size:14px;-webkit-font-smoothing:antialiased}
svg{display:block}
a{color:inherit;text-decoration:none}
.shell{display:grid;grid-template-columns:272px minmax(0,1fr);min-height:100vh}

/* ── сайдбар ── */
.side{background:var(--side-bg);border-right:1px solid var(--side-border);padding:28px 20px 24px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow-y:auto}
.logo{font-size:28px;font-weight:800;letter-spacing:-.5px;padding:0 4px 26px}
.grp{font-size:12px;color:var(--side-muted);padding:6px 4px 8px;text-transform:uppercase;letter-spacing:.4px;font-weight:600}
.side a,.side .gh{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:12px;color:var(--side-text);font-size:15px;font-weight:500;margin-bottom:4px;cursor:pointer;user-select:none}
.side a svg,.side .gh svg{width:20px;height:20px;flex-shrink:0}
.side .chev{margin-left:auto;width:16px;height:16px;opacity:.55;transition:transform .15s}
.side .gh.open .chev{transform:rotate(90deg)}
.side a.on{background:var(--active-bg);color:var(--active-text);font-weight:600}
.side .badge{margin-left:auto;background:var(--badge-bg);color:var(--badge-text);font-size:11px;font-weight:700;min-width:20px;height:20px;border-radius:10px;display:grid;place-items:center;padding:0 6px}
.side .sub{display:none;margin:-2px 0 6px}
.side .gh.open+.sub{display:block}
.side .sub a{padding:9px 14px 9px 46px;font-size:14px;margin-bottom:2px;position:relative}
.side .sub a::before{content:"";position:absolute;left:23px;top:50%;width:5px;height:5px;border-radius:50%;background:var(--line);transform:translateY(-50%)}
.side .sub a.on::before{background:var(--active-text)}
.side .gap{height:14px}
.side .out{margin-top:auto;color:var(--side-muted)}

/* ── шапка ── */
.main{padding:26px 32px 40px;display:flex;flex-direction:column;gap:22px;min-width:0}
.top{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:24px}
.hello h1{font-size:24px;font-weight:700;letter-spacing:-.3px;display:flex;align-items:center;gap:10px}
.hello p{color:var(--muted);font-size:13px;margin-top:4px}
.search{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 18px;width:460px;color:var(--muted);font-size:15px}
.search svg{width:20px;height:20px}
.user{display:flex;align-items:center;gap:18px}
.user .ic{width:36px;height:36px;display:grid;place-items:center;color:var(--ink)}
.user .ic svg{width:22px;height:22px}
.user .av{width:48px;height:48px;border-radius:14px;background:var(--icon-chip);display:grid;place-items:center;color:var(--ink)}
.user .av svg{width:22px;height:22px}
.user .nm{font-weight:600;font-size:15px}
.user .rl{color:var(--muted);font-size:13px}
.user .chev{width:16px;height:16px;color:var(--muted)}

/* ── KPI ── */
.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.kpi{background:var(--kpi-bg);color:var(--kpi-text);border:1px solid var(--line);border-radius:18px;padding:22px 24px 20px}
.kpi .h{display:flex;align-items:center;gap:14px;font-size:16px;font-weight:600;white-space:nowrap}
.kpi .ico{width:48px;height:48px;border-radius:50%;background:var(--kpi-icon-bg);color:var(--kpi-icon);display:grid;place-items:center}
.kpi .ico svg{width:22px;height:22px}
.kpi:nth-child(2) .ico{background:#E7F4EE;color:#1E8E5A}
.kpi:nth-child(3) .ico{background:#FBF0E2;color:#A9560A}
.kpi:nth-child(4) .ico{background:#EFE8FB;color:#6A3FC2}
.kpi .r{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-top:22px}
.kpi .v{font-size:32px;font-weight:700;letter-spacing:-.8px;line-height:1;white-space:nowrap}
.kpi .dl{text-align:right}
.kpi .pill{display:inline-block;background:var(--kpi-pill-bg);color:var(--kpi-pill-text);font-weight:600;font-size:13px;padding:6px 14px;border-radius:999px}
.kpi .pill.dn{background:var(--bad-bg);color:var(--bad)}
.kpi .sub{font-size:11px;color:var(--kpi-muted);margin-top:6px;white-space:nowrap}

/* ── карточки ── */
.grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 380px;grid-auto-rows:auto;gap:22px}
.card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:18px;padding:22px 24px}
.card .ch{display:flex;align-items:center;justify-content:space-between;gap:12px}
.card .ct{font-size:19px;font-weight:700;letter-spacing:-.2px;white-space:nowrap}
.card .all{color:var(--muted);font-size:13px;font-weight:500}
.sel{flex-shrink:0;white-space:nowrap;display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:10px;padding:8px 12px;font-size:13px;font-weight:500;background:var(--card-bg)}
.sel svg{width:14px;height:14px;color:var(--muted)}
.cal{grid-column:3;grid-row:1 / span 2}
.tbl{grid-column:1 / span 2;grid-row:2 / span 2}
.rev{grid-column:3;grid-row:3}

.chartwrap{position:relative;margin-top:18px}
.chartwrap svg{width:100%;height:190px}
.tip{white-space:nowrap;position:absolute;left:80%;top:26%;transform:translateX(-50%);background:#fff;color:var(--ink);font-weight:600;font-size:13px;padding:6px 14px;border-radius:10px;box-shadow:0 2px 10px rgba(0,0,0,.10)}
.months{display:flex;justify-content:space-between;color:var(--muted);font-size:13px;padding:6px 14px 0}

.dn{display:grid;grid-template-columns:1fr 190px;gap:10px;margin-top:14px;align-items:center}
.dn .lbl{color:var(--muted);font-size:13px}
.dn .amt{font-size:20px;font-weight:700;margin:4px 0 16px;letter-spacing:-.4px;white-space:nowrap}
.leg{display:flex;flex-direction:column;gap:12px;font-size:14px}
.leg i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:10px;vertical-align:middle}
.ring{position:relative;width:200px;height:200px}
.ring svg{width:200px;height:200px;transform:rotate(-90deg)}
.ring .c{position:absolute;inset:0;display:grid;place-items:center;text-align:center}
.ring .c b{font-size:24px;font-weight:700;letter-spacing:-.6px}
.ring .c span{font-size:11px;color:var(--muted);display:block;margin-top:-2px}
.bub{position:absolute;background:#fff;border-radius:50%;width:54px;height:54px;display:grid;place-items:center;text-align:center;font-size:11px;font-weight:700;line-height:1.1;box-shadow:0 2px 10px rgba(0,0,0,.10);color:var(--ink)}
.bub small{display:block;font-weight:500;font-size:9px;color:var(--muted)}

.days{display:flex;align-items:center;gap:8px;margin:20px 0 24px}
.days .arr{width:24px;color:var(--muted);display:grid;place-items:center;cursor:pointer}
.days .arr svg{width:16px;height:16px}
.day{cursor:pointer;flex:1;background:var(--day-bg);border-radius:12px;padding:12px 0;text-align:center;font-size:13px;color:var(--ink)}
.day b{display:block;font-size:15px;margin-top:4px;font-weight:600}
.day.today{background:var(--day-sel-bg);color:var(--day-sel-text)}
.sh{display:flex;justify-content:space-between;align-items:center;font-weight:700;font-size:17px;margin:6px 0 12px}
.ev{display:flex;gap:14px;padding:12px 0;align-items:flex-start}
.ev .ic{width:44px;height:44px;border-radius:50%;background:var(--icon-chip);display:grid;place-items:center;flex-shrink:0;color:var(--ink)}
.ev .ic svg{width:20px;height:20px}
.ev .t{font-weight:600;font-size:15px}
.ev .s{color:var(--muted);font-size:13px;margin-top:3px}
.ev .w{font-size:13px;margin-top:4px}
.ev .chev{margin-left:auto;align-self:center;width:16px;height:16px;color:var(--muted)}
.hr{height:1px;background:var(--line);margin:8px 0 14px}

.tools{display:flex;gap:16px;margin:18px 0 16px}
.tools .in{flex:1;display:flex;align-items:center;gap:12px;background:var(--input-bg);border:1px solid var(--line);border-radius:12px;padding:14px 18px;color:var(--muted);font-size:14px}
.tools .in svg{width:18px;height:18px}
.btn{display:inline-flex;align-items:center;gap:10px;background:var(--btn-bg);color:var(--btn-text);border-radius:12px;padding:0 24px;font-weight:600;font-size:15px}
.btn svg{width:18px;height:18px}
table{width:100%;border-collapse:collapse;font-size:14px}
thead th{background:var(--thead-bg);text-align:left;font-weight:600;padding:14px 12px;font-size:13px;color:var(--ink)}
thead th:first-child{border-radius:10px 0 0 10px;width:44px}
thead th:last-child{border-radius:0 10px 10px 0}
thead th .srt{display:inline-flex;flex-direction:column;margin-left:10px;vertical-align:middle;opacity:.5}
thead th .srt svg{width:10px;height:6px}
tbody td{padding:16px 12px;border-bottom:1px solid var(--line);color:var(--ink)}
tbody tr:last-child td{border-bottom:none}
.cb{width:18px;height:18px;border:1.5px solid var(--muted);border-radius:4px;display:inline-block;vertical-align:middle;opacity:.6}

.rv{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--line);font-size:14px}
.rv:last-child{border-bottom:none}
.rv b{font-weight:600}
.rv .st{color:var(--muted);font-size:13px}

.demo{font-size:11px;font-weight:600;color:var(--warn);background:var(--warn-bg);border-radius:999px;padding:4px 10px;white-space:nowrap}
.kpi .pill.mut{background:var(--input-bg);color:var(--muted)}
thead th:first-child{width:auto}
.chips{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.chip{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:9px 14px;font-size:13px;font-weight:500;color:var(--ink);white-space:nowrap;cursor:pointer;user-select:none}
.chip svg{width:14px;height:14px;color:var(--muted)}
.chip.on{background:var(--accent);border-color:var(--accent);color:#fff}
.chip.on svg{color:#fff}
.chips .lbl{color:var(--muted);font-size:13px;margin-right:6px}
.chipwrap,.selwrap{position:relative;display:inline-flex}
.sel{cursor:pointer;user-select:none}
.sel.on{border-color:var(--accent);color:var(--accent)}
.pop{position:absolute;right:0;top:calc(100% + 8px);z-index:5;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 32px rgba(20,53,95,.14);padding:8px}
.chipwrap .pop{right:auto;left:0}
.menu{min-width:190px}
.menu>div{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:10px 12px;border-radius:9px;font-size:14px;font-weight:500;color:var(--ink);cursor:pointer;white-space:nowrap}
.menu>div:hover{background:var(--input-bg)}
.menu>div.on{background:var(--active-bg);color:var(--accent);font-weight:600}
.menu svg{width:16px;height:16px}
.calw{padding:16px;width:320px}
.calh{display:flex;justify-content:space-between;align-items:center;font-weight:700;font-size:15px;margin-bottom:12px;color:var(--ink)}
.calh .arr{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;color:var(--muted);border:1px solid var(--line);cursor:pointer}
.calh .arr svg{width:14px;height:14px}
.dow,.dg{display:grid;grid-template-columns:repeat(7,1fr);gap:2px 0}
.dow span{text-align:center;font-size:11px;color:var(--muted);font-weight:600;text-transform:uppercase;padding:4px 0 8px}
.dg span{text-align:center;font-size:13px;padding:8px 0;color:var(--ink);cursor:pointer;border-radius:9px}
.dg span:hover{background:var(--input-bg)}
.dg .o{color:#B8C3D3;cursor:default}
.dg .o:hover{background:none}
.dg .in{background:var(--active-bg);border-radius:0}
.dg .a{background:var(--accent);color:#fff;border-radius:9px 0 0 9px;font-weight:600}
.dg .b{background:var(--accent);color:#fff;border-radius:0 9px 9px 0;font-weight:600}
.dg .ab{background:var(--accent);color:#fff;font-weight:600}
.calf{margin-top:12px;font-size:12px;color:var(--muted)}
.calf b{color:var(--ink);font-weight:600}
.tip2{position:absolute;background:#fff;border:1px solid var(--line);border-radius:10px;padding:8px 12px;font-size:12px;box-shadow:0 4px 14px rgba(20,53,95,.12);white-space:nowrap;z-index:4;pointer-events:none}
.tip2 b{display:block;font-size:14px;color:var(--ink)}
.tip2 span{color:var(--muted)}
.months span{white-space:nowrap}
thead th{cursor:pointer;user-select:none}
thead th.sort{color:var(--accent)}
.tools label.in input{flex:1;border:0;background:transparent;font:inherit;color:var(--ink);outline:none;min-width:0}
mark{background:var(--warn-bg);color:inherit;border-radius:3px}
/* ── наведение: подсветка и подсказки ── */
.kpi,.chip,.sel,.day,.ev,tbody tr td,.rv,.side a,.side .gh,thead th,.leg div,.ring .seg,.bub,.ev .chev{transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s,transform .15s,opacity .15s,stroke-width .15s}
.kpi{position:relative}
.kpi:hover{transform:translateY(-2px);border-color:#B9CDEB;box-shadow:0 10px 26px rgba(20,53,95,.08)}
.ttw{position:relative}
.tt{position:absolute;left:50%;bottom:calc(100% + 8px);transform:translate(-50%,4px);opacity:0;pointer-events:none;background:var(--navy);color:#fff;font-size:12px;font-weight:500;padding:7px 10px;border-radius:8px;white-space:nowrap;transition:opacity .15s,transform .15s;z-index:6}
.tt::after{content:"";position:absolute;left:50%;bottom:-5px;margin-left:-5px;border:5px solid transparent;border-top-color:var(--navy);border-bottom:0}
.ttw:hover .tt{opacity:1;transform:translate(-50%,0)}
.kpi .tt{left:24px;bottom:calc(100% - 10px);transform:translateY(4px)}
.kpi .tt::after{left:20px;margin-left:0}
.kpi:hover .tt{opacity:1;transform:translateY(0)}
.chip:hover:not(.on),.sel:hover:not(.on){border-color:var(--accent);background:var(--active-bg);color:var(--accent)}
.chip:hover:not(.on) svg,.sel:hover:not(.on) svg{color:var(--accent)}
.side a:hover:not(.on),.side .gh:hover{background:var(--input-bg)}
.day:hover:not(.today){background:#E3EAF5}
.ev{margin:0 -12px;padding:12px;border-radius:12px;cursor:pointer}
.ev:hover{background:var(--input-bg)}
.ev:hover .chev{transform:translateX(3px);color:var(--accent)}
tbody tr{cursor:pointer}
tbody tr:hover td{background:var(--input-bg)}
tbody td:first-child{border-radius:10px 0 0 10px}
tbody td:last-child{border-radius:0 10px 10px 0}
thead th:hover{color:var(--accent)}
.leg div{cursor:default;padding:4px 8px;margin:-4px -8px;border-radius:8px}
.leg div:hover,.leg div.on{background:var(--input-bg)}
.ring.hl .seg{opacity:.3}
.ring.hl .seg.on{opacity:1;stroke-width:18}
.ring.hl .bub{opacity:.35}
.ring.hl .bub.on{opacity:1;transform:scale(1.08)}
.ring .seg{cursor:pointer}
.rv{cursor:pointer;margin:0 -10px;padding:12px 10px;border-radius:10px}
.rv:hover{background:var(--input-bg)}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
/* ── заглушка раздела ── */
.stub{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:22px;align-items:start}
.stub .card .ch{margin-bottom:14px}
.stub ul{list-style:none}
.stub li{display:flex;gap:12px;padding:13px 12px;margin:0 -12px;border-bottom:1px solid var(--line);font-size:15px;line-height:1.4;border-radius:10px;cursor:default;transition:background-color .15s}
.stub li:hover{background:var(--input-bg)}
.stub li:last-child{border-bottom:none}
.stub li::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent);flex-shrink:0;margin-top:8px}
.num{display:inline-block;font-size:12px;font-weight:600;color:var(--muted);background:var(--input-bg);border:1px solid var(--line);border-radius:8px;padding:3px 9px;vertical-align:middle;margin-left:8px}
.plan{background:var(--acc-bg);color:var(--navy);border-radius:14px;padding:16px 18px;font-size:14px;line-height:1.5}
.plan b{display:block;margin-bottom:4px}
.src{color:var(--muted);font-size:13px;margin-top:14px}

/* ── задачи ── */
.tasks{display:grid;grid-template-columns:minmax(0,1fr) 440px;gap:22px;align-items:start}
.tl{padding:0}
.tl .ch{padding:22px 24px 0}
.tl .tools{padding:0 24px}
.tl .tools .in{min-width:180px}
.trow{display:grid;grid-template-columns:28px minmax(0,1fr) 150px 120px 44px 28px;gap:14px;align-items:center;padding:14px 24px;border-top:1px solid var(--line);cursor:pointer;transition:background-color .15s}
.trow:hover{background:var(--input-bg)}
.trow.on{background:var(--active-bg)}
.trow .t{font-weight:600;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.trow .s{font-size:12px;color:var(--muted);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.trow .dl{font-size:13px}
.trow .dl.bad{color:var(--bad);font-weight:600}
.trow .dl span{display:block;font-size:11px;color:var(--muted);font-weight:400}
.pill{display:inline-block;font-size:12px;font-weight:600;padding:5px 10px;border-radius:999px;white-space:nowrap}
.pill.acc{background:var(--acc-bg);color:var(--accent)}.pill.ok{background:var(--ok-bg);color:var(--ok)}.pill.warn{background:var(--warn-bg);color:var(--warn)}.pill.bad{background:var(--bad-bg);color:var(--bad)}
.dir{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;font-size:10px;font-weight:700}
.dir.in{background:var(--acc-bg);color:var(--accent)}.dir.out{background:var(--warn-bg);color:var(--warn)}.dir.me{background:var(--input-bg);color:var(--muted)}
.chatn{width:22px;height:22px;border-radius:11px;background:var(--accent);color:#fff;font-size:11px;font-weight:700;display:grid;place-items:center;justify-self:end}
.chatn.z{background:none;color:#C7D1DF}
.chatn.z svg{width:16px;height:16px}
.thead{display:grid;grid-template-columns:28px minmax(0,1fr) 150px 120px 44px 28px;gap:14px;padding:10px 24px;font-size:12px;font-weight:600;color:var(--muted);background:var(--thead-bg);margin-top:14px}
.thead span:last-child{justify-self:end}
.det{position:sticky;top:26px}
.det h2{font-size:18px;font-weight:700;letter-spacing:-.2px;line-height:1.3}
.meta{display:grid;grid-template-columns:110px 1fr;gap:10px 12px;font-size:13px;margin:16px 0;align-items:center}
.meta b{font-weight:500;color:var(--muted)}
.meta .who{display:flex;align-items:center;gap:8px}
.meta .late{color:var(--bad);font-weight:600}
.meta select.sel{padding:5px 10px;font-size:12px;font-family:inherit;color:var(--ink)}
.av2{width:24px;height:24px;border-radius:50%;background:var(--acc-bg);color:var(--accent);font-size:10px;font-weight:700;display:grid;place-items:center;flex-shrink:0}
.desc{font-size:14px;line-height:1.5}
.lnk{color:var(--accent);font-weight:600;font-size:12px;margin-left:6px}
.dlEdit{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.dlEdit input{font-family:inherit;font-size:13px;padding:6px 10px;color:var(--ink)}
.file{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:10px;padding:7px 10px;font-size:13px;margin:4px 6px 0 0;cursor:pointer;transition:border-color .15s,background-color .15s}
.file:hover{border-color:var(--accent);background:var(--active-bg)}
.file svg{width:16px;height:16px;color:var(--muted)}
.acts{display:flex;gap:8px;margin-top:16px;flex-wrap:wrap;align-items:center}
.hintl{font-size:12px;color:var(--muted)}
.chat{border-top:1px solid var(--line);margin:16px -24px 0;padding:16px 24px 0}
.chat .cht{font-weight:700;font-size:15px;margin-bottom:12px;display:flex;justify-content:space-between}
.chat .cht span{font-weight:500;font-size:12px;color:var(--muted)}
.msgs{max-height:340px;overflow-y:auto;padding-right:4px}
.msg{max-width:88%;margin-bottom:10px}
.msg .a{font-size:11px;color:var(--muted);margin-bottom:3px}
.msg .b{background:var(--input-bg);border-radius:12px 12px 12px 4px;padding:10px 12px;font-size:13px;line-height:1.45;word-wrap:break-word}
.msg.me{margin-left:auto}
.msg.me .a{text-align:right}
.msg.me .b{background:var(--accent);color:#fff;border-radius:12px 12px 4px 12px}
.sysm{text-align:center;font-size:11px;color:var(--muted);margin:8px 0}
.cin{display:flex;gap:10px;margin-top:14px}
.cin .in{flex:1;display:flex;align-items:center;gap:10px;background:var(--input-bg);border:1px solid var(--line);border-radius:12px;padding:12px 14px;color:var(--muted);font-size:14px}
.cin .in svg{width:18px;height:18px;flex-shrink:0}
.cin .in input{flex:1;border:0;background:transparent;font:inherit;color:var(--ink);outline:none;min-width:0}
.cin .btn{padding:0 18px;background:var(--accent);cursor:pointer}
.btn{cursor:pointer;user-select:none;transition:background-color .15s,border-color .15s,color .15s}
.btn:hover{filter:brightness(1.08)}
.btn.ghost{background:#fff;color:var(--ink);border:1px solid var(--line);padding:10px 14px;font-size:13px}
.btn.ghost:hover{border-color:var(--accent);color:var(--accent);background:var(--active-bg);filter:none}
.btn.sm{padding:10px 16px;font-size:14px}
.kpi .v.bad{color:var(--bad)}
.empty{color:var(--muted);text-align:center;padding:40px 24px;font-size:14px}
.frm{display:flex;flex-direction:column;gap:14px;margin-top:16px}
.frm label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:600;color:var(--muted)}
.frm input,.frm textarea,.frm select{font:inherit;font-size:14px;font-weight:400;color:var(--ink);background:var(--input-bg);border:1px solid var(--line);border-radius:12px;padding:12px 14px;outline:none}
.frm input:focus,.frm textarea:focus,.frm select:focus{border-color:var(--accent);background:#fff}
.frm input.err{border-color:var(--bad)}
.frm .seg{display:flex;gap:8px}
.frm .btn{align-self:flex-start;padding:12px 20px}
.viewer{position:relative;cursor:pointer}
.viewer .pop{left:auto;right:0;min-width:240px}

/* ── выбор срока ── */
.pkw{position:relative;display:inline-flex}
.pk{padding:10px 14px;font-size:14px;font-weight:500;color:var(--ink)}
.frm .pk{background:var(--input-bg);border-radius:12px;padding:12px 14px;align-self:flex-start}
.pkw .pop{left:0;right:auto;top:calc(100% + 8px)}
.pkpop{width:330px}
.dg .ab{background:var(--accent);color:#fff;font-weight:600;border-radius:9px}
.dg .td:not(.ab){box-shadow:inset 0 0 0 1.5px var(--accent);border-radius:9px}
.pkt{margin-top:12px;border-top:1px solid var(--line);padding-top:12px}
.pkt .lbl{font-size:11px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.4px;margin-bottom:8px}
.tchips{display:flex;flex-wrap:wrap;gap:6px}
.tchip{font-size:12px;font-weight:600;padding:6px 8px;border-radius:8px;border:1px solid var(--line);cursor:pointer;color:var(--ink);transition:background-color .15s,border-color .15s,color .15s;min-width:34px;text-align:center}
.tchip:hover{border-color:var(--accent);color:var(--accent);background:var(--active-bg)}
.tchip.on{background:var(--accent);border-color:var(--accent);color:#fff}
.calf .btn.sm{padding:8px 14px;font-size:13px}
.dlEdit .pop{z-index:8}

/* ── вложения ── */
.atts{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.att{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);text-decoration:none;cursor:pointer;transition:border-color .15s,background-color .15s,transform .15s;overflow:hidden}
.att:hover{border-color:var(--accent);background:var(--active-bg)}
.att.img,.att.vid{width:112px;height:80px;position:relative;padding:0;background:var(--input-bg)}
.att.img img,.att.vid video{width:100%;height:100%;object-fit:cover;display:block}
.att.vid .play{position:absolute;inset:0;display:grid;place-items:center;color:#fff}
.att.vid .play svg{width:34px;height:34px;filter:drop-shadow(0 2px 6px rgba(0,0,0,.5))}
.att.doc{padding:7px 10px 7px 7px;font-size:13px;max-width:100%}
.att .ext{font-size:10px;font-weight:700;letter-spacing:.3px;background:var(--navy);color:#fff;border-radius:6px;padding:4px 6px;flex-shrink:0}
.att .fn{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}
.att .fs{font-size:11px;color:var(--muted);white-space:nowrap}
.att.demo{cursor:default;opacity:.8}
.att.demo:hover{border-color:var(--line);background:#fff}
.msg .atts{justify-content:flex-start}
.msg.me .atts{justify-content:flex-end}
.pend{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}
.pchip{display:inline-flex;align-items:center;gap:6px;background:var(--active-bg);color:var(--ink);border-radius:8px;padding:5px 6px 5px 6px;font-size:12px;font-weight:500;max-width:100%}
.pchip .ext{font-size:9px;font-weight:700;background:var(--accent);color:#fff;border-radius:5px;padding:3px 5px}
.pchip .fs{color:var(--muted);font-size:11px}
.pchip .rm{width:18px;height:18px;border-radius:50%;display:grid;place-items:center;cursor:pointer;color:var(--muted)}
.pchip .rm svg{width:11px;height:11px}
.pchip .rm:hover{background:#fff;color:var(--bad)}
.clip{display:grid;place-items:center;cursor:pointer;color:var(--muted);border-radius:8px;width:28px;height:28px;margin:-5px 0 -5px -6px;transition:background-color .15s,color .15s}
.clip:hover{background:#fff;color:var(--accent)}
.clip svg{width:18px;height:18px}
.frm label.attach{display:inline-flex;flex-direction:row;align-items:center;gap:8px;align-self:flex-start;font-weight:600;color:var(--ink);cursor:pointer}
.attach svg{width:16px;height:16px}
.frm .hintl{font-weight:400}
.note{font-size:12px;color:var(--warn);background:var(--warn-bg);border-radius:8px;padding:6px 10px;margin:6px 0}
.lb{position:fixed;inset:0;background:rgba(20,53,95,.86);display:grid;place-items:center;z-index:50;cursor:zoom-out;padding:40px}
.lb img,.lb video{max-width:100%;max-height:100%;border-radius:12px;box-shadow:0 20px 60px rgba(0,0,0,.4)}
.lb .lbx{position:absolute;top:20px;right:24px;color:#fff;width:40px;height:40px;display:grid;place-items:center}
.lb .lbx svg{width:22px;height:22px}

/* ── меню задачи ── */
.morew{position:relative;justify-self:end;display:inline-flex}
.more{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;color:var(--muted);cursor:pointer;transition:background-color .15s,color .15s}
.more svg{width:18px;height:18px}
.more:hover,.more.on{background:var(--input-bg);color:var(--ink)}
.mmenu{min-width:220px;right:0;left:auto}
.mmenu>div{justify-content:flex-start;gap:10px}
.mmenu>div>svg{width:16px;height:16px;flex-shrink:0;color:var(--muted)}
.mmenu>div.danger{color:var(--bad)}
.mmenu>div.danger:hover{background:var(--bad-bg)}
.mmenu>div.danger>svg{color:var(--bad)}
.mmenu>div.dis{color:var(--muted);font-weight:400;font-size:12px;cursor:default}
.mmenu>div.dis:hover{background:none}
.mmenu>div.cf{display:block;padding:8px 10px 6px;cursor:default;white-space:normal;width:250px}
.mmenu>div.cf:hover{background:none}
.cft{font-size:14px;font-weight:700;margin-bottom:4px}
.cfs{font-size:12px;color:var(--muted);line-height:1.4;margin-bottom:12px}
.cfa{display:flex;gap:8px}
.cfa .btn.sm{padding:9px 14px;font-size:13px}
.btn.danger{background:var(--bad)}

/* ── бронь столов ── */
.bk{display:grid;grid-template-columns:minmax(0,1fr) 440px;gap:22px;align-items:start}
.bl{padding:0}
.bl .ch{padding:22px 24px 0}
.bl .tools{padding:0 24px}
.bl .tools select.sel{font-family:inherit;color:var(--ink);padding:0 14px;font-size:14px}
.slot{padding:8px 24px 4px;font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.4px;background:var(--thead-bg);border-top:1px solid var(--line)}
.brow{display:grid;grid-template-columns:64px minmax(0,1fr) 110px 40px 150px 84px;gap:14px;align-items:center;padding:13px 24px;border-top:1px solid var(--line);cursor:pointer;transition:background-color .15s}
.brow:hover{background:var(--input-bg)}
.brow.on{background:var(--active-bg)}
.brow .tm{font-weight:700;font-size:15px}
.brow .tm span{display:block;font-size:11px;color:var(--muted);font-weight:500}
.brow .g{font-weight:600;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.brow .s{font-size:12px;color:var(--muted);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.brow .tb{font-size:13px}
.brow .tb span{display:block;font-size:11px;color:var(--muted)}
.brow .pp{font-size:13px;font-weight:600}
.pill.mut{background:var(--input-bg);color:var(--muted)}
.srcc{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;color:var(--muted);white-space:nowrap}
.srcc i{width:7px;height:7px;border-radius:50%;display:inline-block}
.hist{border-top:1px solid var(--line);margin:16px -24px 0;padding:14px 24px 0}
.hist .cht{font-weight:700;font-size:15px;margin-bottom:6px}
.hl{display:flex;gap:10px;font-size:13px;padding:7px 0;color:var(--ink)}
.hl i{width:8px;height:8px;border-radius:50%;background:var(--line);margin-top:6px;flex-shrink:0}
.hl i.ok{background:var(--ok)}.hl i.acc{background:var(--accent)}.hl i.warn{background:var(--warn)}
.hl span{color:var(--muted);font-size:12px;display:block}
.btn.ok{background:var(--ok)}
.load{display:flex;gap:4px;margin-top:14px;align-items:flex-end;height:44px}
.load i{flex:1;background:var(--acc-bg);border-radius:4px 4px 0 0;transition:height .2s}
.load i.hi{background:var(--accent)}
.load i.mid{background:#7FA6E8}
.loadl{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);margin-top:4px}
.tzh{font-size:12px;font-weight:600;color:var(--muted);margin:4px 0 8px}
.warnt{color:var(--warn)}
.tz{margin-top:8px}
.tzn{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.4px;font-weight:600;margin:6px 0 6px}
.tabs{display:flex;gap:8px;flex-wrap:wrap}
.tab{border:1px solid var(--line);border-radius:8px;padding:6px 10px;font-size:12px;font-weight:600;cursor:pointer;transition:background-color .15s,border-color .15s,color .15s}
.tab:hover:not(.busy){border-color:var(--accent);color:var(--accent);background:var(--active-bg)}
.tab.on{background:var(--accent);color:#fff;border-color:var(--accent)}
.tab.on:hover{color:#fff;background:var(--accent)}
.tab.busy{color:var(--muted);background:var(--input-bg);cursor:default;border-style:dashed}
.tab small{font-weight:400;color:inherit;opacity:.7;margin-left:4px}
.depw{display:flex;align-items:center;gap:8px}
.dep{font:inherit;font-size:13px;color:var(--ink);background:var(--input-bg);border:1px solid var(--line);border-radius:9px;padding:6px 10px;width:96px;outline:none}
.dep:focus{border-color:var(--accent);background:#fff}
.dep.z{width:140px}
.trowt{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid var(--line);font-size:13px}
.trowt b{width:64px;font-weight:600}
.trowt .rm{margin-left:auto;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;cursor:pointer;color:var(--muted)}
.trowt .rm svg{width:12px;height:12px}
.trowt .rm:hover{background:var(--bad-bg);color:var(--bad)}
.trowt.add{border-bottom:0;flex-wrap:wrap}
.frm .row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.frm .row2 label{min-width:0}
.frm select.sel{padding:12px 14px;font-family:inherit}
.frm .tz{margin-top:2px}
.frm .tzn{margin-top:4px}

.tt.ttb{white-space:normal;width:230px;text-align:left;font-weight:400;line-height:1.4;padding:9px 11px}
.tt.ttb b{display:block;font-weight:600;margin-bottom:4px}
.ttl{position:relative;height:8px;background:rgba(255,255,255,.18);border-radius:4px;margin:6px 0 2px;overflow:hidden}
.ttl i{position:absolute;top:0;bottom:0;background:#fff;border-radius:4px}
.ttl i.cur{background:#7FA6E8;opacity:.9}
.ttx{display:flex;justify-content:space-between;font-size:10px;opacity:.7;margin-bottom:4px}
.ttc{font-size:10px;opacity:.7;margin-top:4px}
.tabs .ttw .tt{bottom:calc(100% + 6px)}

.tzn.zn{display:flex;align-items:center;gap:8px;text-transform:none;letter-spacing:0;font-size:12px;flex-wrap:wrap}
.tzn.zn .lnk{margin-left:2px;font-weight:500;text-transform:none;letter-spacing:0}
.tzn.zn .btn.sm{padding:6px 10px;font-size:12px}
select.dep{appearance:none;-webkit-appearance:none;padding-right:26px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235C6B82' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;background-size:14px;cursor:pointer}
.trowt .chips{width:100%}

/* ── сотрудники ── */
.st{display:grid;grid-template-columns:minmax(0,1fr) 440px;gap:22px;align-items:start}
.sl{padding:0}
.sl .ch{padding:22px 24px 0}
.sl .tools{padding:0 24px}
.srow{display:grid;grid-template-columns:36px minmax(0,1fr) 92px 108px 118px 34px 24px;gap:12px;align-items:center;padding:12px 24px;border-top:1px solid var(--line);cursor:pointer;transition:background-color .15s}
.srow:hover{background:var(--input-bg)}
.srow.on{background:var(--active-bg)}
.avx{width:36px;height:36px;border-radius:50%;background:var(--acc-bg);color:var(--accent);font-weight:700;font-size:13px;display:grid;place-items:center;flex-shrink:0}
.avx.g{background:var(--ok-bg);color:var(--ok)}.avx.o{background:var(--warn-bg);color:var(--warn)}.avx.p{background:#EFE8FB;color:#6A3FC2}
.srow .n{font-weight:600;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.srow .s{font-size:12px;color:var(--muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.srow .v{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.srow .v span{display:block;font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lvl{display:inline-block;font-size:11px;font-weight:700;padding:3px 7px;border-radius:6px;background:var(--input-bg);color:var(--muted)}
.lvl.l1{background:var(--acc-bg);color:var(--accent)}.lvl.l2{background:var(--ok-bg);color:var(--ok)}.lvl.l0{background:var(--warn-bg);color:var(--warn)}
.dot{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--ink)}
.dot i{width:8px;height:8px;border-radius:50%;background:var(--line);flex-shrink:0}
.dot i.on{background:var(--ok)}
.ph{display:flex;gap:14px;align-items:center}
.ph .avx{width:56px;height:56px;font-size:18px}
.ph h2{font-size:18px;font-weight:700;letter-spacing:-.2px}
.ph .r{font-size:13px;color:var(--muted);margin-top:2px}
.tabs2{display:flex;gap:2px;border-bottom:1px solid var(--line);margin:16px -24px 0;padding:0 16px}
.tabs2 span{padding:10px 8px;font-size:13px;font-weight:600;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap;display:inline-flex;align-items:center;gap:6px;transition:color .15s}
.tabs2 span.on{color:var(--accent);border-color:var(--accent)}
.tabs2 span:hover{color:var(--ink)}
.tabs2 small{font-size:10px;font-weight:700;background:var(--accent);color:#fff;border-radius:999px;padding:2px 6px;line-height:1}
.mini{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}
.mt{background:var(--input-bg);border-radius:12px;padding:12px 14px;min-width:0}
.mt .l{font-size:11px;color:var(--muted);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mt .v{font-size:20px;font-weight:700;letter-spacing:-.4px;margin-top:4px;white-space:nowrap}
.mt .d{font-size:11px;color:var(--muted)}
.mt .d.up{color:var(--ok)}.mt .d.dn{color:var(--bad)}
.sec{margin-top:18px}
.sec h4{font-size:13px;font-weight:700;margin-bottom:8px;display:flex;justify-content:space-between}
.sec h4 span{font-weight:500;color:var(--muted);font-size:12px}
.kv{display:grid;grid-template-columns:120px 1fr;gap:8px 12px;font-size:13px;align-items:center}
.kv b{font-weight:500;color:var(--muted)}
.bar2{height:6px;border-radius:3px;background:var(--line);overflow:hidden;margin-top:6px}
.bar2 i{display:block;height:100%;background:var(--accent);border-radius:3px}
.sh2{display:grid;grid-template-columns:90px 1fr auto;gap:10px;padding:9px 0;border-bottom:1px solid var(--line);font-size:13px;align-items:center}
.sh2:last-child{border-bottom:0}
.sh2 span{color:var(--muted);font-size:12px}
.sh2 b{font-weight:600}
.note2{font-size:12px;color:var(--muted);margin-top:8px;line-height:1.45}
.stepper{list-style:none;margin:12px 0 0}
.stepper li{display:flex;gap:12px;padding:8px 0;font-size:13px;align-items:flex-start}
.step-dot{width:24px;height:24px;border-radius:50%;background:var(--input-bg);color:var(--muted);display:grid;place-items:center;font-size:11px;font-weight:700;flex-shrink:0}
.stepper li.done .step-dot{background:var(--ok-bg);color:var(--ok)}
.stepper li.cur .step-dot{background:var(--accent);color:#fff}
.stepper .t{font-weight:600}
.stepper .s{font-size:12px;color:var(--muted)}
.trow2{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:10px 0;border-bottom:1px solid var(--line);font-size:13px;align-items:center;cursor:pointer;transition:background-color .15s;margin:0 -8px;padding-left:8px;padding-right:8px;border-radius:8px}
.trow2:hover{background:var(--input-bg)}
.trow2:last-child{border-bottom:0}
.trow2 .t{font-weight:600}
.trow2 .s{font-size:12px;color:var(--muted);margin-top:2px}
.wk{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-top:4px}
.wk span{text-align:center;font-size:11px;padding:8px 0;border-radius:8px;background:var(--input-bg);color:var(--muted)}
.wk span.w{background:var(--acc-bg);color:var(--accent);font-weight:700}
.wk span.t{box-shadow:inset 0 0 0 1.5px var(--accent)}
.wkl{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-top:8px}
.wkl span{text-align:center;font-size:10px;color:var(--muted);text-transform:uppercase}
.pwdbox{background:var(--input-bg);border-radius:14px;padding:16px}
.pwdbox .l{font-size:11px;color:var(--muted);font-weight:600}
.pwdbox .v{font-size:16px;font-weight:600;margin-top:2px}
.pwdbox .v.big{font-size:32px;letter-spacing:6px;color:var(--accent)}

/* ── академия ── */
.ac{display:grid;grid-template-columns:minmax(0,1fr) 440px;gap:22px;align-items:start}
.progs{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:16px 24px 6px}
.prog{border:1px solid var(--line);border-radius:14px;padding:14px;cursor:pointer;transition:border-color .15s,background-color .15s,transform .15s}
.prog:hover{border-color:#B9CDEB;transform:translateY(-2px)}
.prog.on{border-color:var(--accent);background:var(--active-bg)}
.prog .t{font-weight:700;font-size:14px}
.prog .s{font-size:12px;color:var(--muted);margin-top:2px}
.prog .p{display:flex;justify-content:space-between;font-size:12px;margin-top:10px}
.prog .p b{font-weight:700}
.bar2 i.ok{background:var(--ok)}.bar2 i.warn{background:var(--warn)}
.lrow{display:grid;grid-template-columns:36px minmax(0,1fr) 180px 90px 190px 24px;gap:12px;align-items:center;padding:12px 24px;border-top:1px solid var(--line);cursor:pointer;transition:background-color .15s}
.lrow:hover{background:var(--input-bg)}
.lrow.on{background:var(--active-bg)}
.lrow .n{font-weight:600;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lrow .s{font-size:12px;color:var(--muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lrow .c{font-size:12px;min-width:0}
.lrow .c b{display:block;font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lrow .v{font-size:13px}
.lrow .v span{display:block;font-size:11px;color:var(--muted)}
.lrow .pill{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;justify-self:start}
.crs{display:flex;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);align-items:flex-start}
.crs:last-child{border-bottom:0}
.crs .num{width:26px;height:26px;border-radius:8px;background:var(--input-bg);color:var(--muted);font-size:12px;font-weight:700;display:grid;place-items:center;flex-shrink:0}
.crs .num.done{background:var(--ok-bg);color:var(--ok)}
.crs .num.cur{background:var(--accent);color:#fff}
.crs .t{font-weight:600;font-size:14px}
.crs .s{font-size:12px;color:var(--muted);margin-top:2px;line-height:1.4}
.crs .r{margin-left:auto;text-align:right;font-size:12px;white-space:nowrap;color:var(--muted)}
.crs .r b{display:block;font-size:13px;color:var(--ink)}
.att{display:grid;grid-template-columns:78px 1fr auto;gap:10px;padding:9px 0;border-bottom:1px solid var(--line);font-size:13px;align-items:center}
.att:last-child{border-bottom:0}
.att b{font-weight:600}
.att span{color:var(--muted);font-size:12px;display:block}
.att .pill{display:inline-block;font-size:12px;color:inherit}
.zones{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}
.z{border-radius:10px;padding:10px;font-size:11px;line-height:1.35}
.z b{display:block;font-size:16px;margin-bottom:3px}
.z.bad{background:var(--bad-bg);color:var(--bad)}.z.warn{background:var(--warn-bg);color:var(--warn)}.z.ok{background:var(--ok-bg);color:var(--ok)}
.lbr{display:grid;grid-template-columns:24px 1fr auto;gap:8px;font-size:13px;padding:6px 0;border-bottom:1px solid var(--line);align-items:center}
.lbr:last-child{border-bottom:0}
.lbr b{color:var(--muted);font-size:12px}
.lbr i{font-style:normal;font-weight:700}
.frm .row3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}
.frm .chk{flex-direction:row;align-items:center;gap:8px;font-weight:500;color:var(--ink);font-size:13px}
.frm .chk input{width:16px;height:16px;padding:0}

/* ── конструктор академии (УК) ── */
.ua{display:grid;grid-template-columns:300px minmax(0,1fr) 300px;gap:22px;align-items:start}
.ed-main{min-width:0}
.tree{padding:8px 4px 8px}
.tn{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:9px;font-size:13px;cursor:pointer;transition:background-color .15s}
.tn:hover{background:var(--input-bg)}
.tn.on{background:var(--active-bg);color:var(--accent);font-weight:600}
.tn .k{font-size:10px;font-weight:700;color:var(--muted);background:var(--input-bg);border-radius:5px;padding:2px 5px;text-transform:uppercase;letter-spacing:.3px;flex-shrink:0}
.tn.on .k{background:#fff}
.tn .cnt{margin-left:auto;font-size:11px;color:var(--muted);white-space:nowrap}
.tn.l1{padding-left:26px}.tn.l2{padding-left:44px}
.tn .tg{width:16px;height:16px;display:grid;place-items:center;color:var(--muted);flex-shrink:0}
.tn .tg svg{width:14px;height:14px}
.tn.add{color:var(--accent);font-weight:600}
.tn.add svg{width:14px;height:14px}
.tsep{height:1px;background:var(--line);margin:10px 8px}
.ver{font-size:12px;color:var(--muted)}
.blk{border:1px solid var(--line);border-radius:14px;padding:14px 16px;margin-top:12px;position:relative;transition:border-color .15s}
.blk:hover{border-color:#B9CDEB}
.blk .bt{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.4px;margin-bottom:8px;display:flex;justify-content:space-between}
.blk .bt span{font-weight:500;text-transform:none;letter-spacing:0}
.btext{font-size:14px;line-height:1.55;outline:none;min-height:22px}
.btext.list{white-space:pre-line;padding-left:0}
.btext:empty::before,.bcap:empty::before,[data-ltitle]:empty::before{content:attr(placeholder);color:var(--muted)}
.btext:focus,.bcap:focus,.qq .q:focus,.qq .o span:focus,[contenteditable].ct:focus{background:var(--input-bg);border-radius:8px;box-shadow:0 0 0 3px var(--active-bg)}
.bcap{font-size:12px;color:var(--muted);margin-top:8px;outline:none}
.vid{height:150px;border-radius:10px;background:linear-gradient(135deg,#14355F,#0B5BD3);display:grid;place-items:center;color:#fff;position:relative}
.vid svg{width:40px;height:40px}
.vid .dur{position:absolute;right:10px;bottom:8px;font-size:11px;background:rgba(0,0,0,.4);padding:3px 7px;border-radius:6px}
.phx{flex:1;height:70px;border-radius:8px;background:linear-gradient(135deg,#C7D7F2,#E8F0FC);display:grid;place-items:center;font-size:11px;color:var(--navy);font-weight:600}
.qq{border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin-top:10px}
.qq .qh{display:flex;gap:8px;align-items:center;margin-bottom:6px}
.qq .qh .k{font-size:10px;font-weight:700;color:var(--muted);background:var(--input-bg);border-radius:5px;padding:2px 5px;text-transform:uppercase}
.qq .qh .lnk{margin-left:auto}
.qq .q{font-weight:600;font-size:14px;outline:none}
.qq .o{display:flex;align-items:center;gap:8px;font-size:13px;padding:6px 0;cursor:pointer}
.qq .o i{width:16px;height:16px;border-radius:50%;border:1.5px solid var(--line);flex-shrink:0;transition:background-color .15s}
.qq .o:hover i{border-color:var(--accent)}
.qq .o i.ok{background:var(--ok);border-color:var(--ok)}
.qq .o span{outline:none}
.addblk{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}
.addblk span{font-size:12px;border:1px dashed var(--line);border-radius:9px;padding:7px 10px;color:var(--muted);cursor:pointer;transition:border-color .15s,color .15s}
.addblk span:hover{border-color:var(--accent);color:var(--accent)}
.aibox{margin-top:14px;border:1px solid var(--accent);border-radius:14px;padding:14px 16px;background:var(--active-bg)}
.aibox .bt{font-size:11px;font-weight:700;color:var(--accent);text-transform:uppercase;letter-spacing:.4px;margin-bottom:6px}
.aibox textarea{width:100%;margin-top:8px;font:inherit;font-size:13px;border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:#fff;outline:none;resize:vertical}
.side2 .card{padding:18px 20px;margin-bottom:14px}
.side2 .sec{margin-top:0}
.ed-main .ch .ct[contenteditable]{outline:none;padding:2px 6px;margin-left:-6px;border-radius:8px}
