: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:minmax(260px,1fr) minmax(0,460px) 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;min-width:0;white-space:nowrap;overflow:hidden;color:var(--muted);font-size:15px}
.search svg{width:20px;height:20px;flex-shrink:0}
@media (max-width:1280px) and (min-width:1101px){.top{grid-template-columns:minmax(260px,1fr) auto auto}.search{width:52px;padding:14px 15px;gap:0;font-size:0}}
.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)}
.yrate{display:inline-flex;align-items:center;gap:5px;margin-top:5px;padding:3px 8px 3px 4px;border-radius:8px;background:#FFF6D6;color:var(--ink);font-size:12px;white-space:nowrap;transition:background .15s}
.yrate:hover{background:#FFEDB0}
.yrate .y{width:16px;height:16px;border-radius:4px;background:#FC3F1D;color:#fff;font:700 11px/16px Arial,sans-serif;text-align:center}
.yrate .ys{color:#F5A400}.yrate b{font-size:13px}.yrate .n{color:var(--muted)}
.yrate .yd{font-weight:600;font-size:11px}.yrate .yd.up{color:var(--ok)}.yrate .yd.dn{color:var(--bad)}
.yrate .tt{left:auto;right:0;bottom:auto;top:calc(100% + 8px);transform:translateY(-4px);text-align:right}
.yrate .tt::after{left:auto;right:14px;bottom:auto;top:-5px;border:5px solid transparent;border-bottom-color:var(--navy);border-top:0}
.yrate.ttw:hover .tt{transform:none}

/* ── 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}
@media (max-width:1360px) and (min-width:1101px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.grid>.card{grid-column:auto;grid-row:auto}.grid>.card:first-child,.grid>.card.tbl{grid-column:1/-1}.grid{align-items:start}.kpis:has(+.grid){grid-template-columns:repeat(2,minmax(0,1fr))}}
.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)}
.dpk{display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.chip.ttw{position:relative}
.okh{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:600;color:var(--ink)}
.okh svg{width:18px;height:18px;color:var(--ok)}
.okh .pill{margin-left:auto}
.ogd.pick{cursor:pointer;transition:border-color .15s,transform .15s,box-shadow .15s}
.ogd.pick:hover{border-color:#B9CDEB;transform:translateY(-2px);box-shadow:0 10px 26px rgba(20,53,95,.08)}
.ogd.pick.on{border-color:var(--accent);background:var(--active-bg)}
.ogd.pick .oga{display:grid;color:var(--muted);transition:transform .15s,color .15s}
.ogd.pick:hover .oga,.ogd.pick.on .oga{transform:translateX(3px);color:var(--accent)}
.ogd.pick .ogp{cursor:inherit;position:relative}
.ogd.pick .ogp:hover{transform:none;box-shadow:none;border-color:var(--line)}
.ogic{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--kpi-icon-bg);color:var(--kpi-icon);flex-shrink:0}
.ogic svg{width:18px;height:18px}

/* ── академия ── */
.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}

/* ── Меню и техкарты ── */
.mn{display:grid;grid-template-columns:minmax(0,1fr) 440px;gap:22px;align-items:start}
.mn .card.list{padding:22px 24px 18px}
.dgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}
.dt{border:1px solid var(--line);border-radius:14px;padding:12px;cursor:pointer;transition:border-color .15s,transform .15s,box-shadow .15s;background:#fff;position:relative;display:grid;grid-template-columns:88px minmax(0,1fr) auto;gap:12px;align-items:start}
.dt:hover{border-color:#B9CDEB;transform:translateY(-2px);box-shadow:0 10px 26px rgba(20,53,95,.08)}
.dt.on{border-color:var(--accent);background:var(--active-bg)}
.dt.off{opacity:.55}
.dt .im{width:88px;height:88px;border-radius:10px;background:var(--input-bg);display:grid;place-items:center;color:#fff;font-size:12px;font-weight:600;overflow:hidden}
.dt .im img,.drop img{width:100%;height:100%;object-fit:contain;display:block;background:#fff}
.dt .im:not(.no){background:#fff;border:1px solid var(--line)}
.drop.has{background:#fff;border:1px solid var(--line)}
.dt .im.no{border:1.5px dashed #B9CDEB;color:var(--muted)}
.dt .im.no svg{width:18px;height:18px;margin-bottom:2px}.dt .im.no{font-size:11px;text-align:center}
.dt .tx{min-width:0}.dt .t{font-weight:700;font-size:14px;line-height:1.25}.dt .pr{font-size:14px;font-weight:700;white-space:nowrap}
.dt .s{font-size:12px;color:var(--muted);margin-top:4px}
.dt .bd{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.dt .bd .pill{font-size:11px;padding:4px 8px}
.stopmark{position:absolute;top:18px;left:18px}
.cnt{color:var(--muted);font-size:13px;font-weight:500}
.drop{border:1.5px dashed #B9CDEB;border-radius:14px;background:var(--input-bg);height:200px;display:grid;place-items:center;text-align:center;color:var(--muted);font-size:13px;line-height:1.5;cursor:pointer;transition:border-color .15s,background-color .15s;overflow:hidden;position:relative;margin-top:14px}
.drop:hover,.drop.over{border-color:var(--accent);background:var(--active-bg)}
.drop.has{border:0;background:var(--input-bg);color:#fff;display:block}
.drop.has .ov{position:absolute;inset:auto 0 0 0;background:rgba(20,53,95,.55);padding:8px;font-size:12px;font-weight:600}
.drop svg{width:26px;height:26px;margin-bottom:6px}
.pacts{display:flex;gap:8px;margin-top:10px}
.sw{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);font-size:14px}
.sw .k{font-weight:600}.sw .k small{display:block;font-weight:400;color:var(--muted);font-size:12px;margin-top:2px}
.tgl{width:44px;height:26px;border-radius:13px;background:var(--line);position:relative;flex-shrink:0;cursor:pointer;transition:background-color .15s}
.tgl::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:left .15s}
.tgl.on{background:var(--accent)}.tgl.on::after{left:21px}
.src2{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:6px}
.src2 i{width:7px;height:7px;border-radius:50%;background:var(--accent);display:inline-block}
.src2.uk i{background:#6A3FC2}.src2.rest i{background:#1E8E5A}
.tk{margin-top:18px;border:1px solid var(--line);border-radius:14px;padding:16px;background:#FCFDFF}
.tk .h{display:flex;justify-content:space-between;align-items:center;font-weight:700;font-size:15px}
.pair{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}
.pair .chip{padding:6px 10px;font-size:12px}
.legend{display:flex;gap:18px;margin-top:14px;flex-wrap:wrap}
/* ── история версий (конструктор УК) ── */
.hv{display:flex;align-items:center;gap:14px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#fff;margin-top:8px;transition:border-color .15s,background-color .15s}
.hv:hover{border-color:#B9CDEB;background:var(--input-bg)}
.hv b{min-width:34px;font-weight:700;color:var(--accent)}
.hv .t{font-size:14px;font-weight:500}
.hv .s{font-size:12px;color:var(--muted);margin-top:2px}
/* ── Рестораны (кабинет УК) ── */
.rs{display:grid;grid-template-columns:minmax(0,1fr) 460px;gap:22px;align-items:start}
.rgrid{display:grid;grid-template-columns:1fr;gap:14px;margin-top:16px}
.rt{border:1px solid var(--line);border-radius:16px;padding:18px;cursor:pointer;background:#fff;transition:border-color .15s,transform .15s,box-shadow .15s;position:relative}
.rt:hover{border-color:#B9CDEB;transform:translateY(-2px);box-shadow:0 10px 26px rgba(20,53,95,.08)}
.rt.on{border-color:var(--accent);background:var(--active-bg)}
.rt .h{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.rt .t{font-weight:700;font-size:17px;letter-spacing:-.2px}
.rt .a{font-size:12px;color:var(--muted);margin-top:3px}
.rt .st{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;white-space:nowrap}
.rt .st i{width:8px;height:8px;border-radius:50%;background:var(--ok);display:inline-block}
.rt .st.off i{background:var(--warn)}
.rt .m{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:16px}
.rt .m div{background:var(--input-bg);border-radius:10px;padding:8px 10px;min-width:0}
.rt .m b{display:block;font-size:17px;font-weight:700;letter-spacing:-.3px;white-space:nowrap}
.rt .m span{font-size:10px;color:var(--muted);font-weight:600;white-space:nowrap}
.rt .m .up{color:var(--ok)}.rt .m .dn{color:var(--bad)}
.rt .acts{display:flex;gap:8px;margin-top:14px}
.rt.add{border:1.5px dashed #B9CDEB;background:var(--input-bg);display:flex;align-items:center;gap:16px;text-align:left;color:var(--muted);padding:18px 22px}
.rt.add:hover{border-color:var(--accent);color:var(--accent);background:var(--active-bg)}
.rt.add svg{width:26px;height:26px;flex-shrink:0}
.rt.add b{display:block;color:var(--ink);font-size:15px;margin-bottom:2px}
.rkv{display:grid;grid-template-columns:150px 1fr;gap:10px 14px;font-size:14px;margin-top:14px}
.rkv b{font-size:12px;color:var(--muted);font-weight:600;padding-top:2px}
.sync{border:1px solid var(--line);border-radius:14px;padding:14px 16px;margin-top:16px}
.sync .h{display:flex;justify-content:space-between;align-items:center;font-weight:700;font-size:14px}
.sync ul{list-style:none;margin-top:10px;font-size:13px}
.sync li{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px solid var(--line)}
.sync li:last-child{border-bottom:none}
.sync li span{color:var(--muted);font-size:12px;white-space:nowrap}
.own{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}
.own .av{width:40px;height:40px;border-radius:50%;background:var(--active-bg);color:var(--accent);display:grid;place-items:center;font-weight:700}
.own .n{font-weight:600;font-size:14px}.own .s{font-size:12px;color:var(--muted)}
.own .pill{margin-left:auto}
/* ── мобильная панель и адаптив: планшет ≤1100, телефон ≤680 ── */
.mbar{display:none}
@media (max-width:1100px){
 .shell{grid-template-columns:1fr}
 .side{position:fixed;left:0;top:0;bottom:0;width:280px;z-index:40;transform:translateX(-100%);transition:transform .2s;box-shadow:none;height:100dvh}
 body.nav-open .side{transform:none;box-shadow:0 0 0 100vw rgba(20,53,95,.35)}
 .mbar{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:10px 12px;position:sticky;top:8px;z-index:30}
 .mbar .burger{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;background:var(--input-bg);cursor:pointer}
 .mbar .burger svg,.mbar .mhub svg{width:20px;height:20px}
 .mbar b{font-size:17px;font-weight:800;letter-spacing:-.3px}
 .mbar .mhub{margin-left:auto;width:40px;height:40px;border-radius:10px;display:grid;place-items:center;color:var(--ink)}
 .main{padding:12px 16px 40px;gap:16px}
 .top{display:flex;flex-wrap:wrap;gap:12px}
 .search{display:none}
 .user{margin-left:auto}
 .kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .kpi{padding:16px 18px 14px}.kpi .v{font-size:26px}.kpi .h{font-size:14px;gap:10px}.kpi .ico{width:40px;height:40px}
 .grid,.tasks,.bk,.st,.ac,.mn,.rs,.stub,.ua{grid-template-columns:minmax(0,1fr)}
 .tasks>*,.bk>*,.st>*,.ac>*,.mn>*,.rs>*,.stub>*,.ua>*{min-width:0}
 .cal,.tbl,.rev{grid-column:auto;grid-row:auto}
 .card[style*="sticky"]{position:static!important}
 .dgrid{grid-template-columns:1fr}
 .progs{grid-template-columns:1fr 1fr}
 .card.tbl,.card.list{overflow-x:auto}
 .trow,.thead,.brow,.srow,.lrow{min-width:640px}
 .tasks>.card,.bk>.card,.st>.card,.ac>.card{overflow-x:auto}
 .kpi .h{white-space:normal}
 body.nav-open{overflow:hidden}
 .chips{gap:6px}
 .hello h1{font-size:20px}
}
@media (max-width:680px){
 .main{padding:10px 12px 32px}
 .kpis{grid-template-columns:1fr 1fr;gap:10px}
 .kpi{padding:14px 14px 12px}.kpi .v{font-size:22px;letter-spacing:-.4px}.kpi .sub{white-space:normal}.kpi .r{margin-top:12px;flex-direction:column;align-items:flex-start;gap:8px}.kpi .dl{text-align:left}.kpi .pill{padding:4px 10px;font-size:12px}
 .card{padding:16px 16px;border-radius:14px}
 .card .ct{font-size:17px}
 .dgrid{grid-template-columns:1fr}
 .progs{grid-template-columns:1fr}
 .rt .m{grid-template-columns:1fr 1fr}
 .rt .acts{flex-wrap:wrap}
 .frm .row2,.frm .row3,.mini{grid-template-columns:1fr}
 .user .nm,.user .rl,.yrate .n{display:none}
 .top .hello p{font-size:12px}
 .chip{padding:8px 12px;font-size:13px}
 .btn.sm{padding:10px 12px;font-size:13px}
 .side{width:min(300px,86vw)}
}

/* ── телефон: списки в два ряда, карточка поверх списка, касания вместо наведения ── */
@media (max-width:680px){
 .thead{display:none}
 .trow,.brow,.srow,.lrow{min-width:0;grid-template-columns:32px minmax(0,1fr) auto;gap:8px 10px;padding:12px 14px;align-items:center}
 .trow .dl{grid-column:2;font-size:12px;padding:0}
 .trow>*:nth-child(5),.trow>*:nth-child(6){display:none}
 .trow .pill{grid-column:3;grid-row:1}
 .brow{grid-template-columns:52px minmax(0,1fr) auto}
 .brow .tb{grid-column:2;font-size:12px}.brow .pp,.brow .srcc{display:none}.brow .pill{grid-column:3;grid-row:1}
 .srow>.v:nth-child(3),.srow>.v:nth-child(4),.srow>.dot,.srow>.more{display:none}
 .lrow>.c,.lrow>.v,.lrow>.more{display:none}
 .lrow .pill{max-width:150px}
 .tasks>.card,.bk>.card,.st>.card,.ac>.card{overflow-x:visible}
 body.sheet-open .tasks>.card:nth-child(2),body.sheet-open .bk>.card:nth-child(2),body.sheet-open .st>.card:nth-child(2),body.sheet-open .ac>.card:nth-child(2),body.sheet-open .mn>.card:nth-child(2),body.sheet-open .rs>.card:nth-child(2){position:fixed!important;inset:0;z-index:36;overflow-y:auto;border-radius:0;border:0;padding:16px 16px 96px;-webkit-overflow-scrolling:touch}
 body.sheet-open{overflow:hidden}
 .ac>.card.attph{display:none}
 .sheetbar{position:fixed;left:0;right:0;bottom:0;z-index:37;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.96);border-top:1px solid var(--line);display:flex;gap:10px}
 .sheetbar .btn{flex:1;justify-content:center;padding:14px}
 .dn{grid-template-columns:1fr}.dn .ring{margin:8px auto 0}
 .frm input,.frm textarea,.frm select,.tools .in input,.chat input,.chat textarea,#chatIn,#cIn{font-size:16px}
 .ttw:active .tt,.kpi:active .tt{opacity:1;transform:translate(-50%,0)}
 .msgs{max-height:none}
 .chat{margin:16px -16px 0;padding:16px 16px 0}
 .hist{margin:16px -16px 0;padding:14px 16px 0}
 .tabs2{margin:16px -16px 0;padding:0 8px;overflow-x:auto;scrollbar-width:none}
 .tabs2 span{white-space:nowrap}
 .chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
 .chips .chip{flex-shrink:0}
 .chips .lbl{display:none}
 .tools{flex-wrap:wrap;gap:8px}
 .card .ch{flex-wrap:wrap}
 .card .ct{white-space:normal}
 .cal .days{gap:4px}
 .stub{gap:14px}
}
@media (max-width:1100px){
 body.nav-open::after{content:"";position:fixed;inset:0;z-index:39}
}

.acc{margin-top:14px;display:flex;gap:8px;flex-wrap:wrap}
@media (max-width:680px){
 .top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
 .hello{flex:1;min-width:0}
 .user{gap:8px}.user .ic{display:none}
 .ph{flex-wrap:wrap}.ph>a{flex-basis:100%;margin-left:0!important}
}

@media (max-width:680px){
 .chipwrap .pop.calw{position:fixed;left:12px;right:12px;top:auto;bottom:calc(12px + env(safe-area-inset-bottom));width:auto;z-index:45;box-shadow:0 -8px 40px rgba(20,53,95,.18)}
 .chipwrap .pop.calw .dg span{padding:11px 0;font-size:14px}
 .pop.menu{max-width:calc(100vw - 32px)}
}

/* ── конструктор УК на телефоне: только просмотр и публикация ── */
.mhint{display:none}
@media (max-width:680px){
 .mhint{display:block;background:var(--acc-bg);color:var(--navy);border-radius:12px;padding:10px 14px;font-size:13px;margin-top:-6px}
 .ua [contenteditable]{pointer-events:none}
 .ua .addblk,.ua [data-aiopen],.ua [data-bdel],.ua [data-addlesson],.ua [data-addcourse],.ua .tn.add,.ua [data-addq],.ua [data-qdel],.ua [data-cfgsave],.ua .aibox{display:none!important}
 .ua .tn{padding:10px 8px}
 .ua .tn.l2{font-size:13px}
}

.grid .span2{grid-column:1 / span 2}
@media (max-width:1100px){.grid .span2{grid-column:auto}}
@media (max-width:680px){
 .ua>.card:first-child{order:3}
 .ua .mhint{order:0}
}

/* ── выпадающий список ресторанов ── */
.rmenu{left:0;right:auto;min-width:300px;max-width:min(420px,calc(100vw - 32px));padding:6px}
.rmenu>div.rq,.rmenu>div.rlist{display:block;padding:0;cursor:default}
.rmenu>div.rq:hover,.rmenu>div.rlist:hover{background:none}
.rmenu .rq{padding:4px 4px 8px}
.rmenu .rq input{width:100%;font:inherit;font-size:14px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--input-bg);outline:none}
.rmenu .rq input:focus{border-color:var(--accent);background:#fff}
.rmenu .rlist{max-height:min(420px,60vh);overflow-y:auto}
.rmenu .rlist>div{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;font-size:14px;cursor:pointer}
.rmenu .rlist>div:hover{background:var(--input-bg)}
.rmenu .rlist>div.on{background:var(--active-bg);color:var(--accent);font-weight:600}
.rmenu .rlist>div span{font-weight:400;color:var(--muted);font-size:12px;margin-left:auto}
.rmenu .rlist>div svg{margin-left:8px}
.rmenu .rlist>div.dis{color:var(--muted);justify-content:center}
@media (max-width:680px){
 .rmenu{position:fixed;left:12px;right:12px;top:auto;bottom:calc(12px + env(safe-area-inset-bottom));min-width:0;max-width:none;z-index:45;box-shadow:0 -8px 40px rgba(20,53,95,.18)}
 .rmenu .rq input{font-size:16px}
 .rmenu .rlist{max-height:55vh}
}

/* ── Оргструктура УК и команда ── */
.og{display:grid;grid-template-columns:minmax(0,1fr) 440px;gap:22px;align-items:start}
.ogtop{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:16px;position:relative}
.ogtop .ogl{padding:0 10px;position:relative}
.ogtop .ogl:not(:last-child)::after{content:"";position:absolute;right:-6px;top:50%;width:12px;height:2px;background:var(--line)}
.ogp{border:1px solid var(--line);border-radius:14px;padding:14px;background:#fff;cursor:pointer;transition:border-color .15s,transform .15s,box-shadow .15s;height:100%}
.ogp:hover{border-color:#B9CDEB;transform:translateY(-2px);box-shadow:0 10px 26px rgba(20,53,95,.08)}
.ogp.on{border-color:var(--accent);background:var(--active-bg)}
.ogp .r{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.3px}
.ogp .t{font-weight:700;font-size:14px;margin-top:4px;line-height:1.25}
.ogp .who{display:flex;align-items:center;gap:8px;margin-top:10px;font-size:13px}
.ogp .who .avx{width:26px;height:26px;font-size:11px;border-radius:50%;display:grid;place-items:center;background:var(--active-bg);color:var(--accent);font-weight:700;flex-shrink:0}
.ogp .who.free{color:var(--muted);font-size:12px}
.ogp .who.free .avx{background:var(--input-bg);color:var(--muted);border:1.5px dashed #B9CDEB}
.ogd{border:1px solid var(--line);border-radius:16px;padding:16px;background:#FCFDFF;margin-top:14px}
.ogd>.h{display:flex;align-items:center;gap:10px;justify-content:space-between}
.ogd>.h .n{font-weight:700;font-size:16px;display:flex;align-items:center;gap:10px}
.ogd>.h .n .ic{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--kpi-icon-bg);color:var(--kpi-icon)}
.ogd>.h .n .ic svg{width:18px;height:18px}
.ogd .ogrs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}
.ogds{display:grid;grid-template-columns:1fr;gap:0}
.ogsub{border:1px solid var(--line);border-radius:14px;padding:12px;margin-top:12px;background:#fff}
.ogsub .sh{font-weight:700;font-size:14px;display:flex;justify-content:space-between;align-items:center;gap:10px}
.ogsub .sh span{font-weight:500;font-size:12px;color:var(--muted)}
.ogsub .ogrs{margin-top:10px}
.ogr{background:var(--acc-bg);color:var(--navy);border-radius:16px;padding:16px 18px;margin-top:16px}
.ogr .rt{font-weight:700;font-size:15px;margin-bottom:10px}
.ogr .rr{display:flex;gap:12px;padding:10px 0;border-bottom:1px solid rgba(20,53,95,.12);font-size:13px;line-height:1.45;align-items:flex-start}
.ogr .rr:last-child{border-bottom:0}
.ogr .rr i{width:26px;height:26px;border-radius:8px;background:#fff;color:var(--accent);display:grid;place-items:center;flex-shrink:0;font-style:normal;font-weight:700;font-size:12px}
.ogr .rr b{display:block}
.ogkv{display:grid;grid-template-columns:130px 1fr;gap:8px 14px;font-size:13px;margin-top:12px}
.ogkv b{color:var(--muted);font-weight:600;font-size:12px}
.ognote{font-size:12px;color:var(--muted);line-height:1.5;margin-top:10px}
.ogtag{font-size:11px;font-weight:600;padding:3px 8px;border-radius:999px;background:var(--input-bg);color:var(--muted);margin-top:8px;display:inline-block}
.ogtag.hd{background:var(--acc-bg);color:var(--accent)}
/* регламент должности: строка на плитке, конечный результат, экран документа */
.ogp.rgc{display:flex;flex-direction:column}
.ogp.rgc .ogtag{align-self:flex-start}
.ogp .rgw{margin-top:auto;padding-top:12px}
.ogp .rgw .in{border-top:1px solid var(--line);padding-top:10px;display:flex;align-items:center}
.rgt{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;padding:4px 9px;border-radius:999px;background:var(--acc-bg);color:var(--accent);border:1px solid transparent;cursor:pointer;transition:border-color .15s,background-color .15s}
.rgt svg{width:13px;height:13px}
.rgt:hover{border-color:var(--accent);background:#fff}
.rgn{font-size:11px;color:var(--muted)}
.tt .ttr{display:block;margin-top:6px;padding-top:6px;border-top:1px solid rgba(255,255,255,.2)}
.ckp{background:var(--acc-bg);color:var(--navy);border-radius:14px;padding:14px 16px;margin-top:14px}
.ckp .l{font-size:11px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--accent)}
.ckp .v{font-size:15px;font-weight:600;line-height:1.45;margin-top:6px}
.rgbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.rgbar .p{font-size:13px;color:var(--muted)}.rgbar .p b{color:var(--ink);font-weight:600}
.rg{display:grid;grid-template-columns:240px minmax(0,1fr) 290px;gap:18px;align-items:start}
.rg>*{min-width:0}
.rgs{position:sticky;top:22px}
.rtoc .list{margin-top:10px}
.rtoc a{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;font-size:13px;color:var(--ink);cursor:pointer;transition:background-color .15s}
.rtoc a:hover{background:var(--input-bg)}
.rtoc a.on{background:var(--active-bg);color:var(--accent);font-weight:600}
.rtoc a .n{width:24px;height:24px;border-radius:7px;background:var(--input-bg);color:var(--muted);font-size:11px;font-weight:700;display:grid;place-items:center;flex-shrink:0}
.rtoc a.on .n{background:var(--accent);color:#fff}
.rgdoc .ct{white-space:normal;line-height:1.2}
.rgdoc .rv0{font-size:12px;color:var(--muted);margin-top:4px}
.rgdoc h2{font-size:18px;font-weight:700;margin:28px 0 8px;scroll-margin-top:20px}
.rgdoc h3{font-size:15px;font-weight:600;margin:14px 0 6px}
.rgdoc p,.rgdoc li{font-size:14px;line-height:1.6;max-width:720px}
.rgdoc p{margin:6px 0}
.rgdoc .rlead{font-weight:600}
.rgdoc .rsub{font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.3px;margin:14px 0 4px}
.rgdoc ul{margin:4px 0 0;padding-left:20px}
.rgdoc li{margin-top:4px}
.rflow{display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin:8px 0}
.rflow span{background:var(--input-bg);border:1px solid var(--line);border-radius:10px;padding:8px 12px;font-size:13px;font-weight:600}
.rflow i{font-style:normal;color:var(--muted);padding-left:14px}
.rkpi{border:1px solid var(--line);border-radius:12px;overflow:hidden;margin:10px 0;max-width:720px}
.rkpi .rh,.rkpi .rr{display:grid;grid-template-columns:1fr 70px;gap:12px;padding:9px 14px;font-size:13px}
.rkpi .rh{background:var(--input-bg);color:var(--muted);font-weight:600;font-size:12px}
.rkpi .rh span:last-child,.rkpi .rr b{text-align:right}
.rkpi .rr{border-top:1px solid var(--line)}
.rkpi .rr b{font-variant-numeric:tabular-nums}
.rkpi .tot{font-weight:700;background:var(--input-bg)}
@media (max-width:1100px){.rg{grid-template-columns:minmax(0,1fr)}.rgs{position:static}.rtoc .list{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px}.rtoc a{white-space:nowrap;border:1px solid var(--line);flex-shrink:0}.rg .rgi{order:3}}
@media (max-width:680px){.rgdoc h2{font-size:16px}}
/* регламент: черновик, правка, история */
.pill.rgpill{font-size:11px;padding:3px 8px}
.ogp .rgw .in{gap:6px;flex-wrap:wrap}
.rgmark{width:8px;height:8px;border-radius:50%;margin-left:auto;flex-shrink:0}
.rgmark.chg{background:var(--warn)}.rgmark.new{background:var(--ok)}
.rtoc .rggone{margin-top:12px;padding:10px 10px 0;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}
.rtoc .rggone s{display:block;margin-top:6px}
.rgdoc h2 .pill{font-size:11px;padding:3px 8px;margin-left:8px;vertical-align:middle}
.rgwas{margin:6px 0 4px;font-size:12px;font-weight:600;color:var(--accent);cursor:pointer;display:inline-block}
.rgwasb{background:var(--input-bg);border-radius:12px;padding:8px 14px;margin:4px 0 10px}
.rgwasb p,.rgwasb li{color:var(--muted)}
.rgarch{background:var(--input-bg);border:1px solid var(--line);border-radius:14px;padding:12px 16px;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;font-size:13px;margin-top:14px}
.rgedbar{position:sticky;top:12px;z-index:4;display:flex;justify-content:space-between;align-items:center;gap:12px;box-shadow:0 10px 26px rgba(20,53,95,.08)}
.aibox .rgrow{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.aibox .rgln{font-size:13px;color:var(--ink);line-height:1.5}
.rgdoc.ed [contenteditable]{outline:none;border-radius:6px;padding:1px 4px;margin:-1px -4px;transition:background-color .15s}
.rgdoc.ed [contenteditable]:hover{background:var(--input-bg)}
.rgdoc.ed [contenteditable]:focus{background:#fff;box-shadow:0 0 0 2px var(--accent)}
.rglix{margin-left:8px;color:var(--muted);cursor:pointer;font-size:13px}
.rglix:hover{color:var(--bad)}
.rgadd{font-size:12px;font-weight:600;color:var(--accent);cursor:pointer;margin:4px 0 0 20px;display:inline-block}
.rgpop{position:relative;display:inline-block}
.rgpop .pop{left:0;right:auto}
.btn.rgoff{opacity:.5;cursor:not-allowed}
.rgi .hv{cursor:pointer}.rgi .hv.cur{background:var(--active-bg);border-color:#B9CDEB}
.rgok{font-size:13px;color:var(--ok);font-weight:600;margin-top:10px;display:flex;align-items:center;gap:6px}
.rgok svg{width:16px;height:16px}
@media (max-width:680px){[data-redit]{display:none!important}}
.acl{border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin-top:12px;background:#fff}
.acl .at{font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.3px;margin-bottom:8px}
.acl .ar{display:flex;gap:10px;padding:7px 0;border-bottom:1px solid var(--line);font-size:13px;align-items:flex-start}
.acl .ar:last-child{border-bottom:0}
.acl .ar b{font-weight:500;display:block}
.acl .ar span.y,.acl .ar span.n{width:18px;height:18px;flex-shrink:0;display:grid;place-items:center;border-radius:50%;margin-top:1px}
.acl .ar span.y{background:var(--ok-bg);color:var(--ok)}
.acl .ar span.n{background:var(--input-bg);color:var(--muted)}
.acl .ar span.y svg,.acl .ar span.n svg{width:11px;height:11px}
.acl .ar>div>span{display:block;font-size:11px;color:var(--muted);margin-top:1px}
.tmh,.tmr{display:grid;grid-template-columns:minmax(150px,1.3fr) minmax(0,1.2fr) 104px 104px 24px;gap:10px;align-items:center}
.tmh{padding:14px 0 10px;border-bottom:1px solid var(--line);font-size:12px;color:var(--muted);font-weight:600;margin-top:8px}
.tmr{padding:12px 0;border-bottom:1px solid var(--line);cursor:pointer}
.tmr:hover{background:var(--input-bg)}
.tmr.on{background:var(--active-bg)}
.tmr .p{display:flex;align-items:center;gap:10px;min-width:0}
.tmr .av{width:36px;height:36px;border-radius:50%;background:var(--active-bg);color:var(--accent);display:grid;place-items:center;font-weight:700;font-size:12px;flex-shrink:0}
.tmr .n{font-weight:600;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tmr .s{font-size:12px;color:var(--muted);white-space:nowrap}
.tmr .v{font-size:13px;min-width:0}.tmr .v b{font-weight:700;font-size:14px;display:block}.tmr .v span{font-size:11px;color:var(--muted)}
.tmr .more{color:var(--muted);display:grid;place-items:center}.tmr .more svg{width:18px;height:18px}
.tmadd{display:flex;align-items:center;gap:10px;padding:14px 12px;margin-top:10px;border:1.5px dashed #B9CDEB;border-radius:12px;color:var(--muted);font-size:13px;cursor:pointer;background:var(--input-bg)}
.tmadd:hover{border-color:var(--accent);color:var(--accent);background:var(--active-bg)}
.tmadd svg{width:18px;height:18px}
@media (max-width:1100px){.og{grid-template-columns:minmax(0,1fr)}.og>*{min-width:0}.ogd .ogrs{grid-template-columns:1fr 1fr}}
@media (max-width:680px){.ogtop{grid-template-columns:1fr;gap:10px}.ogtop .ogl{padding:0}.ogtop .ogl:not(:last-child)::after{display:none}.ogd .ogrs{grid-template-columns:1fr}.ogd{padding:14px}.ogr{padding:14px}
 .tmh{display:none}.tmr{grid-template-columns:minmax(0,1fr) auto;gap:6px 10px}.tmr .v:nth-child(2){grid-column:1;font-size:12px;color:var(--muted)}.tmr .v:nth-child(3){grid-column:2;grid-row:1;text-align:right}.tmr>div:nth-child(4){grid-column:1/-1}.tmr>.morew{grid-column:2;grid-row:2;align-self:start}
}

/* ── Настройки и права: роли-конструктор и пользователи ── */
.ac2{display:grid;grid-template-columns:340px minmax(0,1fr);gap:22px;align-items:start}
.ac2.users{grid-template-columns:minmax(0,1fr) 480px}
.segw{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}
.segw span{padding:10px 16px;border-radius:12px;border:1px solid var(--line);background:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:border-color .15s,background-color .15s}
.segw span:hover{border-color:#B9CDEB}
.segw span.on{background:var(--navy);color:#fff;border-color:var(--navy)}
.rcard{border:1px solid var(--line);border-radius:14px;padding:14px;background:#fff;cursor:pointer;margin-bottom:10px;transition:border-color .15s,transform .15s,box-shadow .15s}
.rcard:hover{border-color:#B9CDEB;transform:translateY(-2px);box-shadow:0 10px 26px rgba(20,53,95,.08)}
.rcard.on{border-color:var(--accent);background:var(--active-bg)}
.rcard .t{font-weight:700;font-size:15px;display:flex;align-items:center;gap:8px;justify-content:space-between}
.rcard .s{font-size:12px;color:var(--muted);margin-top:4px;line-height:1.4}
.rcard .m{display:flex;gap:14px;margin-top:10px;font-size:12px;color:var(--muted)}
.rcard .m b{color:var(--ink);font-weight:700}
.rcard.add{border:1.5px dashed #B9CDEB;background:var(--input-bg);color:var(--muted);display:flex;align-items:center;gap:10px;font-size:13px}
.rcard.add:hover{border-color:var(--accent);color:var(--accent);background:var(--active-bg)}
.rcard.add svg{width:18px;height:18px}
.pgrp{margin-top:18px}
.pgrp .gt{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.4px;padding-bottom:8px;border-bottom:1px solid var(--line)}
.prow{display:grid;grid-template-columns:minmax(0,1fr) 232px;gap:14px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line)}
.prow:last-child{border-bottom:0}
.prow .n{font-weight:600;font-size:14px}
.prow .d{font-size:12px;color:var(--muted);margin-top:2px;line-height:1.35}
.plvl{display:flex;background:var(--input-bg);border-radius:10px;padding:3px;gap:2px}
.plvl span{flex:1;text-align:center;padding:7px 4px;border-radius:8px;font-size:12px;font-weight:600;color:var(--muted);cursor:pointer;white-space:nowrap;transition:background-color .15s,color .15s}
.plvl span:not(.on):hover{color:var(--ink);background:rgba(255,255,255,.6)}
.plvl span.on{background:#fff;color:var(--ink);box-shadow:0 1px 3px rgba(20,53,95,.12)}
.plvl span.on.w{background:var(--accent);color:#fff}
.plvl span.on.x{background:#fff;color:var(--muted)}
.plvl.ro span{cursor:default}.plvl.ro span:not(.on):hover{background:none;color:var(--muted)}
.plock{font-size:11px;font-weight:600;color:var(--accent);background:var(--acc-bg);border-radius:999px;padding:3px 8px;margin-left:8px;white-space:nowrap}
.uh,.urow{display:grid;grid-template-columns:minmax(170px,1.3fr) minmax(0,1.5fr) 110px 26px;gap:12px;align-items:center}
.uh{padding:14px 0 10px;border-bottom:1px solid var(--line);font-size:12px;color:var(--muted);font-weight:600;margin-top:8px}
.urow{padding:12px 0;border-bottom:1px solid var(--line);cursor:pointer;transition:background-color .15s}
.urow:hover{background:var(--input-bg)}
.urow.on{background:var(--active-bg)}
.urow .p{display:flex;align-items:center;gap:10px;min-width:0}
.urow .av{width:36px;height:36px;border-radius:50%;background:var(--active-bg);color:var(--accent);display:grid;place-items:center;font-weight:700;font-size:12px;flex-shrink:0}
.urow .n{font-weight:600;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.urow .s{font-size:12px;color:var(--muted)}
.urow .more{color:var(--muted);display:grid;place-items:center}.urow .more svg{width:18px;height:18px}
.rr2{display:flex;gap:6px;flex-wrap:wrap;min-width:0}
.rr2 span{font-size:11px;font-weight:600;background:var(--acc-bg);color:var(--accent);border-radius:999px;padding:3px 8px}
.rr2 span.none{background:var(--input-bg);color:var(--muted)}
.psum{border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin-top:12px;background:#FCFDFF}
.psum .pst{white-space:nowrap;font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.3px;margin-bottom:8px}
.psum .sr{display:flex;gap:10px;padding:6px 0;font-size:13px;align-items:center;border-bottom:1px solid var(--line)}
.psum .sr:last-child{border-bottom:0}
.psum .sr i{font-style:normal;font-size:11px;font-weight:700;border-radius:999px;padding:2px 8px;white-space:nowrap;min-width:66px;text-align:center}
.psum .sr i.w{background:var(--acc-bg);color:var(--accent)}
.psum .sr i.r{background:var(--ok-bg);color:var(--ok)}
.psum .sr i.n{background:var(--input-bg);color:var(--muted)}
.psum .sr b{font-weight:500;flex:1}
.chip.dis{opacity:.45;cursor:not-allowed}
.chip.ghost{border-style:dashed;color:var(--accent);text-decoration:none}.chip.ghost svg{width:14px;height:14px}
.tmh,.tmr{grid-template-columns:minmax(150px,1.3fr) minmax(0,1.2fr) 104px minmax(110px,1fr) 24px}
.num.ro{background:var(--input-bg);color:var(--muted)}
@media (max-width:1100px){.ac2,.ac2.users{grid-template-columns:minmax(0,1fr)}.ac2>*{min-width:0}}
@media (max-width:680px){.prow{grid-template-columns:1fr;gap:8px}.plvl span{padding:9px 4px}.uh{display:none}.urow{grid-template-columns:minmax(0,1fr) auto auto;gap:6px 10px}.urow .rr2{grid-column:1/-1;grid-row:2}}

/* ── право «смотреть»: кнопки изменения скрыты, сервер всё равно не примет правку ── */
body.ro [data-formopen],body.ro [data-create],body.ro [data-del],body.ro [data-assign],body.ro [data-dledit],body.ro [data-take],body.ro [data-st],body.ro [data-more],body.ro .cin,
body.ro [data-rsadd],body.ro [data-rsdel],body.ro [data-rsowner],body.ro [data-rstest],body.ro [data-rssave],body.ro [data-rssync],
body.ro .ua .addblk,body.ro .ua [data-aiopen],body.ro .ua [data-bdel],body.ro .ua [data-addlesson],body.ro .ua [data-addcourse],body.ro .ua .tn.add,body.ro .ua [data-addq],body.ro .ua [data-qadd],body.ro .ua [data-qdel],body.ro .ua [data-cfgsave],body.ro .ua .aibox,body.ro .ua [data-publish],body.ro .ua [data-ovsave],body.ro .ua [data-ovopen],body.ro .ua [data-badd]{display:none!important}
body.ro .ua [contenteditable],body.ro .ua input,body.ro .ua textarea,body.ro .ua select,body.ro .ua [data-qcrit],body.ro .ua [data-qans],body.ro .ua [data-cflag],body.ro .ua [data-ttog],body.ro .ua [data-tset]{pointer-events:none}

.mmenu .mh{margin-left:auto;padding-left:12px;font-size:11px;font-weight:400;color:var(--muted)}

/* ── Главная УК: плитки ресторанов ── */
.httool{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:14px}.httool .lbl{font-size:13px;color:var(--muted);margin-right:4px}.httool .chip{padding:7px 12px;font-size:13px}
.htgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(205px,1fr));gap:12px;margin-top:14px}
.htile{position:relative;border:1px solid var(--line);border-radius:14px;padding:12px 14px 16px;cursor:pointer;min-width:0;background:#fff;transition:border-color .15s,transform .15s,box-shadow .15s}
.htile:hover{border-color:#B9CDEB;transform:translateY(-2px);box-shadow:0 10px 26px rgba(20,53,95,.08)}
.htdot{position:absolute;top:-1px;right:-1px;min-width:22px;height:22px;padding:0 6px;border-radius:0 14px 0 10px;background:var(--acc-bg);color:var(--accent);font-size:11px;font-weight:700;display:grid;place-items:center}.htdot.late{background:var(--bad-bg);color:var(--bad)}
.ht1{display:flex;gap:8px;align-items:baseline}.htdot~.ht1{padding-right:18px}
.htrk{font-size:12px;color:var(--muted);font-weight:600}
.ht1 b{flex:1;min-width:0;font-size:17px;font-weight:700;letter-spacing:-.2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.htdl{font-size:12px;font-weight:700;font-variant-numeric:tabular-nums}.htdl.hpos{color:var(--ok)}.htdl.hneg{color:var(--bad)}.htdl.hmut{color:var(--muted)}
.htcells{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.9fr) minmax(0,1fr);gap:5px;margin-top:10px}
.htcells>div{background:var(--input-bg);border-radius:9px;padding:6px 7px;min-width:0}
.htcells i{display:block;font-style:normal;font-size:10px;color:var(--muted);white-space:nowrap}
.htcells b{font-size:13px;font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}
.htwait{margin-top:10px;font-size:12px;color:var(--muted);background:var(--input-bg);border-radius:9px;padding:12px 10px;text-align:center}
.htbar{position:absolute;left:0;right:0;bottom:0;height:4px;background:var(--line);border-radius:0 0 13px 13px;overflow:hidden}.htbar>i{display:block;height:100%;background:var(--accent)}
@media (max-width:680px){.htgrid{grid-template-columns:1fr 1fr;gap:8px}.htile{padding:10px 12px 14px}.ht1 b{font-size:15px}.htcells{grid-template-columns:1fr}.htcells>div{display:flex;justify-content:space-between;align-items:baseline;gap:10px}}

/* ── бронь: столы и залы из iiko ── */
.bksrc{display:flex;align-items:center;gap:10px;margin-top:10px;font-size:13px;color:var(--muted)}.bksrc b{color:var(--ink);font-weight:600}
.trowt.bkh{display:grid;grid-template-columns:64px 118px minmax(0,1fr) 36px;gap:10px;align-items:center;padding:7px 0}
.trowt.bkh b{width:auto}.bkseat{display:flex;align-items:center;gap:6px}.bkseat .dep{width:52px;text-align:center}
.bkuse{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.trowt.bkh.off b,.trowt.bkh.off .bkuse{color:var(--muted)}.trowt.bkh.off b{text-decoration:line-through;font-weight:500}
.bkest{font-style:normal;font-weight:700;color:var(--warn);cursor:help}
.bksw{position:relative;display:inline-block;width:34px;height:20px;justify-self:end}.bksw input{opacity:0;width:0;height:0;position:absolute}
.bksw i{position:absolute;inset:0;border-radius:999px;background:var(--line);transition:background-color .15s}
.bksw i::after{content:"";position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(20,53,95,.2);transition:transform .15s}
.bksw input:checked+i{background:var(--accent)}.bksw input:checked+i::after{transform:translateX(14px)}
@media (max-width:680px){.trowt.bkh{grid-template-columns:56px 100px minmax(0,1fr) 36px;gap:6px}.bkuse{font-size:11px}}

@media (max-width:680px){.dt{grid-template-columns:72px minmax(0,1fr) auto;gap:10px}.dt .im{width:72px;height:72px}.dt .pr{font-size:13px}}

/* ── меню: заголовки категорий над блюдами ── */
.dgh{display:flex;align-items:baseline;gap:8px;margin:20px 0 0;padding-bottom:8px;border-bottom:1px solid var(--line)}.dgh b{font-size:15px;font-weight:700}.dgh span{font-size:12px;color:var(--muted)}.dgh+.dgrid{margin-top:10px}.chips .selwrap{position:relative}

/* ── главная УК: график кухня/бар/прочее ── */
.chartwrap.cv svg{height:auto}.clg{display:flex;gap:16px;align-items:center;margin-top:10px;font-size:12px;color:var(--muted);flex-wrap:wrap}.clg i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px}.clg b{color:var(--ink)}

/* ── академия ресторана: уроки и тесты для чтения ── */
.crumb{display:flex;gap:6px;align-items:center;font-size:12px;color:var(--muted);margin-bottom:10px;flex-wrap:wrap}.crumb a{color:var(--accent);font-weight:600;text-decoration:none}.crumb i{font-style:normal;color:var(--line)}.crs.lnkrow{cursor:pointer;border-radius:10px;padding:10px 8px;margin:0 -8px;transition:background-color .15s}.crs.lnkrow:hover{background:var(--input-bg)}.crs .chev{color:var(--muted);align-self:center;margin-left:6px}.crs .chev svg{width:16px;height:16px}.crs .r+.chev{margin-left:8px}.blk.goal{background:var(--acc-bg);border-color:transparent}.qq.ro .o{display:flex;gap:10px;align-items:center;padding:6px 0;font-size:13px}.qq.ro .o i{width:16px;height:16px;border-radius:50%;border:1.5px solid var(--line);flex-shrink:0}.qq.ro .o i.ok{background:var(--ok);border-color:var(--ok)}.qq.ro .q{font-weight:600;font-size:14px;margin:6px 0 4px}.qq .qh{display:flex;gap:8px;align-items:center;font-size:11px;color:var(--muted)}.qq .qh .k{font-weight:700;text-transform:uppercase;letter-spacing:.3px}

/* академия · аттестация: чек-лист практики и метка в списке команды */
.pchk{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;align-items:start;padding:10px 0;border-top:1px solid var(--line)}
.pchk .pt b{font-size:13px}.pchk .pt .s{font-size:13px;color:var(--muted);margin-top:2px;line-height:1.45}
.pchk .pill{font-size:11px;padding:1px 7px;margin-left:4px}
.pchk .chips{flex-wrap:nowrap}
@media (max-width:640px){.pchk{grid-template-columns:1fr}}
.lrow .xlbl{color:var(--accent);font-weight:600}
/* ресторан · раздел «Аттестация» */
.agrp{margin-top:16px;padding:14px 24px 0;border-top:1px solid var(--line)}
.sl .agrp:last-child{padding-bottom:18px}
.agrp .arow{margin:0 -10px}
.agrp h4{font-size:15px;font-weight:700;margin:0 0 2px;display:flex;gap:8px;align-items:center}
.agrp h4 span{font-size:12px;font-weight:600;color:var(--muted);background:var(--thead-bg);padding:1px 8px;border-radius:999px}
.arow{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:12px;align-items:center;padding:9px 10px;border-radius:12px;cursor:pointer;transition:background .15s}
.arow:hover{background:var(--thead-bg)}.arow.on{background:var(--active-bg)}
.arow .n{font-weight:600}.arow .s{font-size:13px;color:var(--muted)}
.acts2{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;align-items:center}
.steps2{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:10px 24px 0;font-size:13px}
.steps2 span{padding:5px 10px;border-radius:8px;background:var(--thead-bg);font-weight:500}.steps2 i{color:var(--muted);font-style:normal}
.arow.stack{grid-template-columns:36px minmax(0,1fr)}.arow.stack .acts2{grid-column:2;justify-content:flex-start}
@media (max-width:680px){.arow{grid-template-columns:36px minmax(0,1fr)}.arow .acts2{grid-column:1/-1;justify-content:flex-start}}
