
/* Подтверждённые разборы прогулов. */
.ar-dialog .dh .btn{min-height:44px;min-width:44px}
.ar-view{min-width:0}.ar-view p,.ar-confirm p{margin:0;line-height:1.6;overflow-wrap:anywhere}.ar-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.ar-heading h2,.ar-heading h3,.ar-journal h3{margin:0}.ar-heading h3{font-size:16px}.ar-candidates,.ar-journal{display:grid;gap:12px;min-width:0}.ar-candidate{display:flex;gap:16px;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:14px;min-width:0}.ar-candidate>div{min-width:0}.ar-candidate b,.ar-review h3{overflow-wrap:anywhere}.ar-candidate .btn{flex-shrink:0}.ar-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.ar-view .btn,.ar-confirm .btn{min-height:44px;white-space:normal;line-height:1.4}.ar-view .chips .chip{min-height:44px;white-space:normal}.ar-badge{font-size:12px;line-height:1.4;padding:6px 10px;background:var(--surface-2);border:1px solid var(--line);border-radius:20px}.ar-badge-active{color:var(--accent);background:var(--accent-soft)}.ar-current{padding:12px;border-left:3px solid var(--accent);background:var(--surface-2)}.ar-answers summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-weight:600}.ar-answers>div{padding:12px 0;border-top:1px solid var(--line)}.ar-answers p{white-space:pre-wrap;margin-top:6px}.ar-confirm{padding:16px;display:grid;gap:16px;font-size:14px;line-height:1.6}.ar-confirm h4{margin:0}.ar-facts{margin:0;display:grid;gap:10px}.ar-facts>div{display:grid;grid-template-columns:105px minmax(0,1fr);gap:8px}.ar-facts dt{color:var(--muted)}.ar-facts dd{margin:0;font-weight:600;overflow-wrap:anywhere}.ar-questions{margin:0;padding-left:24px;display:grid;gap:10px}.ar-questions li{padding-left:3px;overflow-wrap:anywhere}.ar-warning{background:var(--accent-soft);border-left:3px solid var(--accent);padding:12px;border-radius:6px;line-height:1.6}.ar-warning p+p{margin-top:8px}.ar-confirm .ar-actions{margin:0}.ar-confirm .ar-actions .primary{flex:1 1 100%}.ar-status{font-weight:500}
@media(max-width:650px){.ar-candidate{flex-direction:column;align-items:stretch;gap:10px}.ar-candidate .btn{width:100%}.ar-actions .btn{flex:1 1 100%}.ar-heading{align-items:flex-start}.ar-heading>.btn{width:100%}.ar-facts>div{grid-template-columns:1fr;gap:0}.ar-confirm{padding:14px}.ar-intro .ar-heading h2{font-size:18px}.ar-review h3{font-size:16px}}
/* Пошаговые инструкции для сотрудников: без горизонтальной прокрутки. */
.guide-wrap{max-width:1040px;display:grid;gap:16px;min-width:0;margin:0 auto}.guide-wrap .panel{margin:0;min-width:0}.guide-head,.guide-routine,.guide-notes{padding:24px}.guide-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.guide-eyebrow{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--accent)}.guide-heading h2{font-size:28px;margin:4px 0 0;line-height:1.2}.guide-switch{margin:20px 0 12px}.guide-switch .chip{min-width:130px;min-height:44px;font-size:15px}.guide-intro{font-size:16px;line-height:1.6;margin:0 0 8px}.guide-head>.small{margin:0}.guide-routine h3,.guide-notes h3{font-size:16px;line-height:1.4;margin:0 0 12px}.guide-routine ol{counter-reset:guide-step;list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding:0;margin:0}.guide-routine li{position:relative;padding-top:40px;counter-increment:guide-step}.guide-routine li:before{left:0;content:counter(guide-step);display:grid;place-items:center;position:absolute;top:0;width:28px;height:28px;background:var(--accent-soft);color:var(--accent);border-radius:9px;font-weight:700}.guide-routine b{font-size:15px}.guide-routine p,.guide-topic p,.guide-notes p{font-size:14px;line-height:1.65;margin:7px 0 0;overflow-wrap:anywhere}.guide-routine p,.guide-notes p{color:var(--muted)}.guide-topics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:start}.guide-topic summary{padding:17px 20px;cursor:pointer;font-weight:600;font-size:15px;min-height:52px;overflow-wrap:anywhere}.guide-topic[open] summary{color:var(--accent);border-bottom:1px solid var(--line)}.guide-topic p{padding:15px 20px 18px;margin:0}.guide-notes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;background:var(--surface-2)}.guide-notes h3{margin:0;font-size:14px}
@media(max-width:650px){.guide-wrap{gap:12px}.guide-head,.guide-routine,.guide-notes{padding:18px}.guide-heading{gap:8px}.guide-heading h2{font-size:24px}.guide-heading>.small{font-size:11px}.guide-switch.chips{display:grid;grid-template-columns:1fr 1fr;gap:8px}.guide-switch .chip{min-width:0;width:100%}.guide-routine ol,.guide-topics,.guide-notes{grid-template-columns:1fr}.guide-routine ol{gap:16px}.guide-routine li{padding:0 0 0 42px}.guide-routine p{margin-top:4px}.guide-topic summary{padding:15px 18px}.guide-topic p{padding:14px 18px 18px}.guide-notes{gap:20px}}
.guide-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:20px;min-width:0}
.guide-tools>div{min-width:0}.guide-tools label{display:block;font-size:13px;font-weight:600;margin-bottom:7px}
.guide-tools input,.guide-tools select{width:100%;min-width:0;min-height:44px;box-sizing:border-box;font-size:14px}
.guide-search-row{display:flex;gap:8px;min-width:0}.guide-search-row input{flex:1 1 0}
.guide-search-row .btn{flex:0 0 auto;min-height:44px;padding:8px 12px;font-size:13px}
.guide-head>.guide-result-count{margin:12px 0 0;line-height:1.5}
.guide-topic{scroll-margin-top:80px}.guide-topic-body{padding:18px 20px;min-width:0}
.guide-topic-body p{padding:0;margin:0 0 12px;color:var(--ink)}
.guide-steps{padding:0 0 0 23px;margin:14px 0;font-size:14px;line-height:1.7}
.guide-steps li{padding-left:5px;margin:0 0 12px;overflow-wrap:anywhere}.guide-steps li:last-child{margin-bottom:0}
.guide-steps li::marker{font-weight:700;color:var(--accent)}
.guide-tips{border-top:1px solid var(--line);margin-top:18px;padding-top:14px}
.guide-tips h4{font-size:13px;margin:0 0 8px;font-weight:600}.guide-tips p{font-size:13px;color:var(--muted);margin:0 0 8px}
.guide-topic-body p:last-child{margin-bottom:0}
.guide-notes{gap:10px;align-items:start}.guide-notes>.guide-common-title{grid-column:1/-1;margin:0 0 5px;font-size:16px}
.guide-empty{padding:24px}.guide-empty h3{font-size:17px;margin:0 0 10px}.guide-empty p{font-size:14px;line-height:1.65;margin:0;overflow-wrap:anywhere}
@media(max-width:650px){.guide-tools{grid-template-columns:1fr;gap:14px;margin-top:18px}.guide-topic-body{padding:16px 18px}.guide-topic-body p{padding:0}.guide-steps{font-size:14px}.guide-notes{padding:14px;gap:10px}.guide-empty{padding:18px}}
:root{
  --bg:#EEF1F4; --surface:#FFFFFF; --surface-2:#F6F8FA; --ink:#15202B; --muted:#5A6774; --faint:#8A96A2;
  --line:#DAE0E6; --line-strong:#C3CCD5;
  --accent:#D9531E; --accent-ink:#FFFFFF; --accent-soft:#FBE6DC;
  --work:#1D7F54; --work-bg:#D7EFE2;
  --vac:#2A64C4; --vac-bg:#DCE6F8;
  --sick:#A83B55; --sick-bg:#F5DCE2;
  --part:#9A6410; --part-bg:#F6E8CC;
  --bad:#C2352B; --bad-bg:#FBE1DE; --ok:#1D7F54; --mid:#9A6700; --mid-bg:#FFF1CC;
  --weekend:#F3EEE9;
  --shadow:0 12px 40px rgba(20,32,43,.18);
  --sans:"Onest",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    color-scheme:dark;
    --bg:#0E141A; --surface:#161F28; --surface-2:#1B2631; --ink:#E4EAF0; --muted:#98A5B2; --faint:#6F7C89;
    --line:#26323E; --line-strong:#34424F;
    --accent:#FF7A40; --accent-ink:#1A0E08; --accent-soft:#3A2218;
    --work:#62D29B; --work-bg:#153627;
    --vac:#7FA8F0; --vac-bg:#18284A;
    --sick:#F08AA2; --sick-bg:#3D1A24;
    --part:#E8B458; --part-bg:#3A2B10;
    --bad:#FF7B6E; --bad-bg:#3E1916; --ok:#62D29B; --mid:#F2C14E; --mid-bg:#3A2E0E;
    --weekend:#1C222A;
    --shadow:0 12px 40px rgba(0,0,0,.5);
  }
}
:root[data-theme="dark"]{
  color-scheme:dark;
  --bg:#0E141A; --surface:#161F28; --surface-2:#1B2631; --ink:#E4EAF0; --muted:#98A5B2; --faint:#6F7C89;
  --line:#26323E; --line-strong:#34424F;
  --accent:#FF7A40; --accent-ink:#1A0E08; --accent-soft:#3A2218;
  --work:#62D29B; --work-bg:#153627;
  --vac:#7FA8F0; --vac-bg:#18284A;
  --sick:#F08AA2; --sick-bg:#3D1A24;
  --part:#E8B458; --part-bg:#3A2B10;
  --bad:#FF7B6E; --bad-bg:#3E1916; --ok:#62D29B; --mid:#F2C14E; --mid-bg:#3A2E0E;
  --weekend:#1C222A;
  --shadow:0 12px 40px rgba(0,0,0,.5);
}
*{box-sizing:border-box}
html{color-scheme:light}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.45;padding-inline:16px;padding-block:0 40px}
[hidden]{display:none!important}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.wrap{max-width:1480px;margin:0 auto}

/* top */
.top{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;padding-block:18px 12px}
.brand{display:flex;align-items:center;gap:10px;margin-right:auto}
.brand-mark{width:34px;height:34px;border-radius:8px;background:var(--accent);display:grid;place-items:center;color:var(--accent-ink);font-family:Arial,sans-serif;font-weight:800;font-size:14px;letter-spacing:.5px}
.brand h1{font-size:18px;font-weight:700;margin:0;letter-spacing:-.01em}
.brand small{display:block;color:var(--muted);font-size:12px;font-weight:400}
.ctl{display:flex;align-items:center;gap:6px}
.sel,.inp{background:var(--surface);border:1px solid var(--line-strong);border-radius:8px;padding:7px 10px;min-height:36px}
.inp{width:100%}
.btn{background:var(--surface);border:1px solid var(--line-strong);border-radius:8px;padding:7px 12px;min-height:36px;font-weight:500;white-space:nowrap}
.btn:hover{border-color:var(--ink)}
.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.btn.primary:hover{filter:brightness(1.05)}
.btn.danger{color:var(--bad);border-color:var(--bad)}
.btn.danger.solid{background:var(--bad);color:#fff}
.btn.ghost{border-color:transparent;background:transparent}
.btn.sm{min-height:30px;padding:4px 10px;font-size:13px}
.period{font-family:var(--mono);font-size:13px;min-width:150px;text-align:center}
.sync{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:6px}
.sync i{width:8px;height:8px;border-radius:50%;background:var(--ok);display:inline-block}
.sync.saving i{background:var(--part)}
.sync.off i{background:var(--bad)}

.tabs{display:flex;gap:2px;border-bottom:1px solid var(--line-strong);overflow-x:auto;margin-bottom:16px}
.tab{background:none;border:0;padding:10px 14px;color:var(--muted);font-weight:500;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}
.tab[aria-selected="true"]{color:var(--ink);border-bottom-color:var(--accent)}
.tab .count{font-family:var(--mono);font-size:11px;background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:0 6px;margin-left:6px}
.tab .count.warn{background:var(--bad-bg);color:var(--bad);border-color:transparent}

.banner{background:var(--part-bg);color:var(--part);border-radius:8px;padding:10px 14px;margin-bottom:14px;font-size:13px}

/* toolbar */
.toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:12px}
.toolbar .inp{width:220px;max-width:100%}
.chips{display:flex;flex-wrap:wrap;gap:4px}
.chip{border:1px solid var(--line-strong);background:var(--surface);border-radius:999px;padding:4px 11px;font-size:13px;font-weight:500}
.chip[aria-pressed="true"]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.spacer{flex:1}
.legend{display:flex;flex-wrap:wrap;gap:10px;font-size:12px;color:var(--muted);align-items:center}
.legend span{display:inline-flex;align-items:center;gap:5px}

/* panels */
.panel{background:var(--surface);border:1px solid var(--line);border-radius:10px}
.panel-h{display:flex;align-items:baseline;gap:10px;padding:12px 14px 0;flex-wrap:wrap}
.panel-h h2{font-size:14px;font-weight:600;margin:0}
.panel-h p{margin:0;color:var(--muted);font-size:12px}
.scroll{overflow-x:auto}

/* grid */
table.grid{border-collapse:separate;border-spacing:0;width:100%;font-variant-numeric:tabular-nums}
.grid th,.grid td{border-bottom:1px solid var(--line);padding:0;text-align:center;height:34px}
.grid thead th{position:sticky;top:0;background:var(--surface);z-index:2;font-weight:500;font-size:11px;color:var(--muted);padding:6px 0;height:auto;border-bottom:1px solid var(--line-strong)}
.grid thead th b{display:block;font-family:var(--mono);font-size:13px;color:var(--ink);font-weight:600}
.grid .we{background:var(--weekend)}
.grid thead th.we{background:var(--weekend)}
.grid .today{box-shadow:inset 2px 0 0 var(--accent),inset -2px 0 0 var(--accent)}
.grid thead th.today b{color:var(--accent)}
.grid .name{position:sticky;left:0;z-index:1;background:var(--surface);text-align:left;padding:4px 10px;min-width:230px;max-width:260px;border-right:1px solid var(--line-strong)}
.grid thead .name{z-index:3}
.grid .num{font-family:var(--mono);font-size:11px;color:var(--faint);width:28px}
.grid .note{text-align:left;padding:4px 10px;min-width:220px;font-size:12px;color:var(--muted)}
.grid td.day{width:38px;min-width:38px}
.mrow:hover td.name{background:var(--surface-2)}
.mname{background:none;border:0;padding:0;font-weight:500;text-align:left;display:flex;align-items:center;gap:6px;width:100%}
.mname:hover .nm{text-decoration:underline}
.meta{display:flex;gap:4px;flex-wrap:wrap;margin-top:2px}
.tag{font-family:var(--mono);font-size:10px;font-weight:500;border:1px solid var(--line-strong);border-radius:4px;padding:0 4px;color:var(--muted);line-height:16px}
.tag.car{border-color:transparent;background:var(--surface-2)}
.tag.lvl-new{background:var(--accent-soft);color:var(--accent);border-color:transparent}
.tag.lvl-training{background:var(--part-bg);color:var(--part);border-color:transparent}
.tag.lvl-exp{background:var(--work-bg);color:var(--work);border-color:transparent}
.tg{width:8px;height:8px;border-radius:50%;flex:none;background:var(--line-strong)}
.tg.on{background:#2AABEE}
.grp td{background:var(--surface-2);text-align:left;padding:8px 10px;font-weight:600;font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);height:auto}
.grp td.name{background:var(--surface-2)}
.grp.sub td{font-size:11px;padding:5px 10px;color:var(--faint)}

.cell{width:100%;height:33px;border:0;background:transparent;font-family:var(--mono);font-size:12px;font-weight:600;display:grid;place-items:center;color:var(--faint)}
.cell:hover{outline:1px solid var(--ink);outline-offset:-3px;border-radius:4px}
.cell span{display:grid;place-items:center;width:28px;height:24px;border-radius:5px}
.s-р span{background:var(--st-r-bg);color:var(--st-r)}
.s-в span{background:var(--st-v-bg);color:var(--st-v)}
.s-о span{background:var(--st-o-bg);color:var(--st-o)}
.s-б span{background:var(--st-b-bg);color:var(--st-b)}
.s-д span,.s-вч span{background:var(--part-bg);color:var(--part)}
.sw{display:inline-block;width:14px;height:14px;border-radius:4px}

/* coverage */
.cov td.day{font-family:var(--mono);font-size:12px}
.cov .v{display:grid;place-items:center;height:26px;width:34px;margin:0 auto;border-radius:5px;font-weight:600}
.cov .v.bad{background:var(--bad-bg);color:var(--bad)}
.cov .v.ok{color:var(--ink)}
.cov .v.none{color:var(--faint)}
.cov td.name{font-weight:500}
.cov td.name small{color:var(--muted);font-weight:400;font-family:var(--mono);font-size:11px}

/* popover */
.pop{position:fixed;z-index:50;background:var(--surface);border:1px solid var(--line-strong);border-radius:10px;box-shadow:var(--shadow);padding:6px;min-width:190px}
.pop h4{margin:4px 8px 6px;font-size:12px;color:var(--muted);font-weight:500}
.pop button{display:flex;align-items:center;gap:10px;width:100%;background:none;border:0;padding:6px 8px;border-radius:6px;text-align:left}
.pop button:hover,.pop button:focus-visible{background:var(--surface-2)}
.pop .k{font-family:var(--mono);font-weight:600;display:grid;place-items:center;width:28px;height:22px;border-radius:5px;font-size:12px}

/* drawer */
.scrim{position:fixed;inset:0;background:rgba(10,16,22,.35);z-index:40}
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(460px,100%);background:var(--surface);z-index:41;box-shadow:var(--shadow);display:flex;flex-direction:column;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
.dh{display:flex;align-items:center;gap:10px;padding:16px 18px;border-bottom:1px solid var(--line)}
.dh h3{margin:0;font-size:17px;flex:1;text-wrap:balance}
.db{overflow-y:auto;padding:16px 18px;display:flex;flex-direction:column;gap:14px;flex:1}
.df{padding:12px 18px;border-top:1px solid var(--line);display:flex;gap:8px;flex-wrap:wrap}
.field{display:flex;flex-direction:column;gap:5px}
.field > label,.lbl{font-size:12px;color:var(--muted);font-weight:500}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.check{display:flex;align-items:center;gap:8px}
textarea.inp{min-height:64px;resize:vertical}
.box{border:1px solid var(--line);border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:8px;background:var(--surface-2)}
.box h5{margin:0;font-size:13px}
.box p{margin:0;font-size:13px;color:var(--muted)}
.box.danger{border-color:var(--bad);background:var(--bad-bg)}
.box.danger h5{color:var(--bad)}
.box ul{margin:0;padding-left:18px;font-size:13px}
.code{font-family:var(--mono);font-size:12px;background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:6px 8px;word-break:break-all}
.pill{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:500;border-radius:999px;padding:2px 9px}
.pill.on{background:var(--work-bg);color:var(--work)}
.pill.off{background:var(--bad-bg);color:var(--bad)}
.pill.mute{background:var(--surface-2);color:var(--muted);border:1px solid var(--line)}

/* lists */
table.list{width:100%;border-collapse:collapse}
.list th{text-align:left;font-size:12px;color:var(--muted);font-weight:500;padding:10px 12px;border-bottom:1px solid var(--line-strong);white-space:nowrap}
.list td{padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}
.list tr.click{cursor:pointer}
.list tr.click:hover td{background:var(--surface-2)}
.list tr.fired td{color:var(--faint)}
.list .n{font-family:var(--mono);font-variant-numeric:tabular-nums}

.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin-bottom:16px}
.step{padding:14px;display:flex;flex-direction:column;gap:6px}
.step .no{font-family:var(--mono);font-size:12px;color:var(--accent);font-weight:600}
.step h3{margin:0;font-size:14px}
.step p{margin:0;color:var(--muted);font-size:13px}
.two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}
@media (max-width:900px){.two{grid-template-columns:1fr}}

.log{list-style:none;margin:0;padding:0}
.log li{display:grid;grid-template-columns:110px 1fr;gap:12px;padding:10px 14px;border-bottom:1px solid var(--line);font-size:13px}
.log li:last-child{border-bottom:0}
.log time{font-family:var(--mono);font-size:12px;color:var(--muted)}
.log .who{color:var(--muted);font-size:12px}
.log .bot{color:#2AABEE;font-weight:600}
.log .warn{color:var(--bad);font-weight:600}
.empty{padding:28px 14px;text-align:center;color:var(--muted)}

.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:16px}
.kpi{padding:12px 14px}
.kpi .l{font-size:12px;color:var(--muted)}
.kpi .v{font-family:var(--mono);font-size:24px;font-weight:600}
.kpi .v.bad{color:var(--bad)}

.toast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);background:var(--ink);color:var(--bg);padding:10px 16px;border-radius:8px;z-index:60;font-size:13px;max-width:calc(100% - 32px)}
.dirpick{display:flex;flex-wrap:wrap;gap:4px}
.dirpick .chip{font-family:var(--mono);font-size:12px}
.hint{font-size:12px;color:var(--muted)}
@media (max-width:560px){
  .row2{grid-template-columns:1fr}
  .grid .name{min-width:170px}
  .log li{grid-template-columns:1fr;gap:2px}
}
@media (prefers-reduced-motion:no-preference){
  .drawer{animation:slide .18s ease-out}
  @keyframes slide{from{transform:translateX(24px);opacity:.6}to{transform:none;opacity:1}}
}

/* ---- боевая версия ---- */
.user{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted)}
.login{max-width:420px;margin:12vh auto 0;padding:28px;display:flex;flex-direction:column;gap:14px}
.login h1{margin:0;font-size:22px}
.login p{margin:0;color:var(--muted)}
.login ol{margin:0;padding-left:20px;color:var(--muted)}
.st{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:500;border-radius:999px;padding:2px 9px;white-space:nowrap}
.st.ontime{background:var(--work-bg);color:var(--work)}
.st.late{background:var(--part-bg);color:var(--part)}
.st.absent{background:var(--bad-bg);color:var(--bad)}
.st.notg{background:var(--surface-2);color:var(--muted);border:1px solid var(--line)}
.st.extra{background:var(--vac-bg);color:var(--vac)}
.st.warn{background:var(--part-bg);color:var(--part)}
.form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px}
.card{padding:14px;display:flex;flex-direction:column;gap:12px}
.card h2{margin:0;font-size:14px}
.stack{display:flex;flex-direction:column;gap:16px}
.cks{display:flex;flex-wrap:wrap;gap:4px}
.small{font-size:12px}
.muted{color:var(--muted)}
.report{display:flex;flex-direction:column;gap:6px;font-size:13px}
.report b{font-weight:600}
.loading{padding:40px;text-align:center;color:var(--muted)}
td .sel,td .inp{min-height:30px;padding:4px 8px}
.tag.main{background:var(--ink);color:var(--surface);border-color:var(--ink);font-weight:600}
.dayh{background:none;border:0;padding:0;width:100%;font:inherit;color:inherit;cursor:pointer;border-radius:6px;padding-block:2px}
.dayh:hover{background:var(--surface-2)}
.grid thead th.picked{background:var(--accent-soft)}
.grid thead th.picked b{color:var(--accent)}
.onday-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:12px 14px 0;padding:8px 12px;border-radius:8px;background:var(--accent-soft);font-size:13px}

.filters{padding:12px 14px;display:flex;flex-direction:column;gap:10px;margin-bottom:12px}
.frow{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.frow .inp{width:260px;max-width:100%}
.flbl{font-size:12px;color:var(--muted);font-weight:500;min-width:110px}
.chip.ck{display:inline-flex;align-items:center;gap:6px;cursor:pointer;user-select:none}
.chip.ck input{margin:0;accent-color:var(--accent)}
.chip.ck.on{border-color:var(--accent);background:var(--accent-soft)}
.fcount{font-size:13px;color:var(--muted)}
.cov-box{margin-bottom:12px}
.cov-box summary{cursor:pointer;padding:12px 14px;list-style:none;display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}
.cov-box summary::-webkit-details-marker{display:none}
.cov-box summary::before{content:"▸";color:var(--muted);transition:transform .15s}
.cov-box[open] summary::before{transform:rotate(90deg)}
.gridwrap{overflow:auto;max-height:calc(100vh - 110px);border-top:1px solid var(--line)}
.gridwrap .grid thead th{top:0}
.tag.lvl-new{background:var(--work-bg);color:var(--work);border-color:transparent;font-weight:600}

:root{--st-r:#FFFFFF;--st-r-bg:#2E9E5E;--st-v:#B8453C;--st-v-bg:#FBE4E1;--st-b:#6E5200;--st-b-bg:#FFE27A;--st-o:#6A3DB8;--st-o-bg:#E7DCFA;--plus:#1F9D55;--plus-late:#E07A10}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--st-r:#0E1A13;--st-r-bg:#4CC784;--st-v:#F4A39B;--st-v-bg:#3A1C19;--st-b:#2A2000;--st-b-bg:#E8C54A;--st-o:#CDB6F7;--st-o-bg:#35264F;--plus:#4CC784;--plus-late:#F0A04B}}
:root[data-theme="dark"]{--st-r:#0E1A13;--st-r-bg:#4CC784;--st-v:#F4A39B;--st-v-bg:#3A1C19;--st-b:#2A2000;--st-b-bg:#E8C54A;--st-o:#CDB6F7;--st-o-bg:#35264F;--plus:#4CC784;--plus-late:#F0A04B}
.cell span{position:relative}
.plus{position:absolute;top:-6px;right:-7px;font-style:normal;font-family:var(--mono);font-weight:700;font-size:11px;line-height:14px;width:14px;height:14px;border-radius:50%;display:inline-grid;place-items:center;color:#fff;background:var(--plus);box-shadow:0 0 0 2px var(--surface)}
.plus.late{background:var(--plus-late)}
.glayout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:14px;align-items:start}
.glayout .filters{position:sticky;top:10px;margin:0;max-height:calc(100vh - 20px);overflow:auto}
.filters{padding:12px;display:flex;flex-direction:column;gap:12px}
.filters .inp{width:100%}
.fsec{display:flex;flex-direction:column;gap:6px}
.fsec .chips{gap:4px}
.fsec .chip{padding:3px 9px;font-size:12px}
.gtitle{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 14px 10px;text-align:center}
.gtitle h2{margin:0;font-size:24px;font-weight:700;letter-spacing:-.01em}
.gtitle .legend{justify-content:center}
@media (max-width:1000px){.glayout{grid-template-columns:minmax(0,1fr)}.glayout .filters{position:static;order:-1;max-height:none}}
.tgchat{background:#CBD9E4;border-radius:10px;padding:14px;background-image:linear-gradient(135deg,#C9DCC1 0%,#B7CFDC 100%)}
.tgbubble{background:#fff;color:#111;border-radius:12px 12px 12px 4px;padding:10px 12px;white-space:pre-wrap;font-size:14px;line-height:1.45;max-width:420px;box-shadow:0 1px 1px rgba(0,0,0,.12);font-family:-apple-system,"Segoe UI",Roboto,sans-serif}
.tgbubble b{font-weight:700}
code{font-family:var(--mono);font-size:12px;background:var(--surface-2);padding:0 4px;border-radius:4px}

.grid td.wk2,.grid thead th.wk2{background:#EAF2FB}
.grid td.wk2.we,.grid thead th.wk2.we{background:#DCE8F5}
.grid td.wk1end,.grid thead th.wk1end{border-right:3px solid #7A96B8}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .grid td.wk2,:root:not([data-theme="light"]) .grid thead th.wk2{background:#172536}:root:not([data-theme="light"]) .grid td.wk2.we,:root:not([data-theme="light"]) .grid thead th.wk2.we{background:#1C2E44}}
:root[data-theme="dark"] .grid td.wk2,:root[data-theme="dark"] .grid thead th.wk2{background:#172536}
:root[data-theme="dark"] .grid td.wk2.we,:root[data-theme="dark"] .grid thead th.wk2.we{background:#1C2E44}
.car{font-size:14px;line-height:16px}
.poolmark{font-size:11px;font-weight:600;margin-left:2px;white-space:nowrap}
.poolmark.main{color:var(--st-r-bg)}
.poolmark.res{color:#B8860B}
.tg.wait{background:#E0A020}
.unfilled{border-top:1px solid var(--line);padding-top:10px;display:flex;flex-direction:column;gap:10px}
.misslist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;max-height:220px;overflow:auto}
.misslist li{display:flex;justify-content:space-between;gap:6px;font-size:13px;padding:3px 6px;border-radius:6px;background:var(--bad-bg)}
.misslist .mname{font-weight:500;font-size:13px}
.okline{font-size:13px;color:var(--ok)}
.chk{font-size:11px;font-weight:600;border-radius:4px;padding:0 5px;line-height:16px;white-space:nowrap;font-family:var(--mono)}
.chk.ok{background:var(--work-bg);color:var(--work)}
.chk.bad{background:var(--bad-bg);color:var(--bad)}
.warn{color:var(--bad)}
.grid .avgc{min-width:78px;padding:0 6px;border-right:1px solid var(--line-strong);text-align:center;font-family:var(--mono);font-size:12px}
.grid thead th.avgc b{font-size:12px}
.avgv{display:inline-block;padding:2px 6px;border-radius:5px;font-weight:600}
.avgv.ok{background:var(--work-bg);color:var(--work)}
.avgv.bad{background:var(--bad-bg);color:var(--bad)}
.grid .avgc small{display:block;font-size:10px;line-height:12px}
.grid .sdc{min-width:46px;padding:0 4px;border-right:1px solid var(--line-strong);text-align:center;font-family:var(--mono);font-size:12px;background:var(--surface)}
.grid thead th.sdc b{display:block;font-size:12px}
.grid thead th.sdc{font-weight:400;font-size:10px;line-height:12px}
.sdv{display:inline-block;min-width:26px;padding:2px 6px;border-radius:5px;font-weight:700;border:1.5px solid currentColor}
.sdv.g{background:var(--work-bg);color:var(--work)}
.sdv.y{background:var(--mid-bg);color:var(--mid)}
.sdv.r{background:var(--bad-bg);color:var(--bad)}
.cov-unf{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px;margin:0 14px 14px;padding-top:12px}
@media (max-width:700px){.cov-unf{grid-template-columns:1fr}}
.grid .name{min-width:265px}
.mname .nm{white-space:nowrap}
.nocrm{font-size:10px;font-weight:600;color:var(--muted);background:var(--surface-2);border:1px dashed var(--line-strong);border-radius:5px;padding:1px 4px;white-space:nowrap;font-family:var(--sans)}

/* ---- фильтры: сворачиваются на узком экране ---- */
.fdet > summary{list-style:none}
.fdet > summary::-webkit-details-marker{display:none}
.fsum{display:none}
.fbody{display:flex;flex-direction:column;gap:12px}
.fbadge{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--accent);color:var(--accent-ink);font-size:11px;font-weight:700;font-family:var(--mono)}
@media (max-width:1000px){
  .glayout .filters{padding:0}
  .fsum{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:12px 14px;cursor:pointer;min-height:48px}
  .fsum .hint{flex:1;min-width:0}
  .fchev::before{content:"▾";color:var(--muted);display:inline-block;transition:transform .15s}
  .fdet[open] .fchev::before{transform:rotate(180deg)}
  .fdet[open] .fsum{border-bottom:1px solid var(--line)}
  .fbody{padding:12px 14px 14px}
  .misslist{max-height:none}
}

/* ---- диалог ---- */
.dlg{position:fixed;z-index:41;left:50%;top:50%;transform:translate(-50%,-50%);width:min(440px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow:auto;box-shadow:var(--shadow);border-radius:12px}
.dlg .dh{padding:14px 16px}
.dlg form{padding:14px 16px 16px}
.login form .btn{width:100%}
.login details summary{cursor:pointer;color:var(--muted)}
.login details[open]{display:flex;flex-direction:column;gap:10px}

/* ---- телефон ---- */
@media (max-width:700px){
  body{font-size:15px}
  .top{gap:8px 10px;padding-block:12px 8px}
  .brand small{display:none}
  .brand h1{font-size:16px}
  .user{width:100%;justify-content:flex-end;order:-1;font-size:12px}
  .user #userName{margin-right:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
  .ctl{flex:1 1 auto}
  #citySel{flex:1;min-width:0}
  #periodCtl{width:100%;justify-content:space-between}
  .period{min-width:0;flex:1}
  .sync{display:none}
  .tabs{margin-inline:-16px;padding-inline:8px;scrollbar-width:none}
  .tabs::-webkit-scrollbar{display:none}
  .tab{padding:10px 11px}
  .gtitle{padding:10px}
  .gtitle h2{font-size:20px}
  .gtitle .legend{gap:4px 10px;font-size:11px}
  .grid .name{min-width:150px;max-width:170px;padding:3px 6px}
  .mname{flex-wrap:wrap;gap:2px 5px;font-size:13px}
  .mname .nm{white-space:normal;line-height:1.2}
  .poolmark{font-size:10px}
  .meta{gap:3px}
  .grid .avgc{min-width:62px;padding:0 3px;font-size:11px}
  .avgv{padding:1px 4px}
  .grid td.day{width:34px;min-width:34px}
  .cell span{width:26px}
  .grid .note{min-width:160px}
  .gridwrap{max-height:calc(100vh - 60px)}
  .toolbar .inp{width:100%}
  .kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .kpi .v{font-size:20px}
  .list th,.list td{padding:8px}
  .card{padding:12px}
  .login{margin-top:6vh;padding:20px}
  .drawer .row2{grid-template-columns:1fr}
  .pop{max-width:calc(100vw - 24px)}
}
.gmain{min-width:0}
@media (max-width:1000px){.filters .chips{flex-wrap:wrap}}
@media (max-width:700px){
  .grid .meta .tag:not(.main):not(.lvl-new):not(.dx){display:none}
  .grid .meta{flex-wrap:wrap}
  .mname .poolmark.main{display:none}
  .gtitle .legend{display:none}
}

/* ---- отзывы ---- */
.rv-wrap{max-width:1180px}
.rv-grid{display:grid;grid-template-columns:minmax(0,640px) minmax(0,1fr);gap:16px;align-items:start}
@media (max-width:1000px){.rv-grid{grid-template-columns:minmax(0,1fr)}}
.rv-table .list th,.rv-table .list td{padding:7px 10px}
.rv-table .list td{vertical-align:middle}
.rv-table .n{text-align:right;width:74px}
.rv-table .list th.n{text-align:right}
.rv-foot{padding:8px 12px;border-top:1px solid var(--line);display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.rv-cnt{border:1px solid var(--line-strong);background:var(--surface);border-radius:999px;min-width:34px;height:26px;padding:0 8px;font-family:var(--mono);font-weight:700;cursor:pointer}
.rv-cnt.top{background:var(--work-bg);color:var(--work);border-color:transparent}
.rv-dot{width:10px;height:10px;border-radius:50%;background:#2E9E5E;display:inline-block;flex:none;box-shadow:0 0 0 3px var(--work-bg)}
.rv-top td{background:color-mix(in srgb,var(--work-bg) 45%,transparent)}
.rv-items td{padding-top:0!important}
.rv-items ul{margin:0;padding-left:18px;font-size:12px;color:var(--muted)}
.rv-kpi{font-size:13px;color:var(--muted);background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:3px 10px}
.rv-kpi b{color:var(--ink);font-family:var(--mono)}
.rv-side .tgbubble{max-width:100%}
.rv-chats{display:flex;flex-direction:column;gap:4px;max-height:220px;overflow:auto}
.rv-dot.red{background:var(--bad);box-shadow:0 0 0 3px var(--bad-bg)}
.rv-zero td{background:color-mix(in srgb,var(--bad-bg) 55%,transparent)}
.rv-cnt.zero{display:inline-grid;place-items:center;background:var(--bad-bg);color:var(--bad);border-color:transparent;cursor:default}
.ng-crit{color:var(--bad)}
.ng-h{margin:18px 0 8px;font-size:15px}
.ng-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}
.ng-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:8px}
.ng-card.crit{border-color:var(--bad);box-shadow:inset 3px 0 0 var(--bad)}
.ng-head{display:flex;align-items:center;gap:8px}
.ng-head .spacer{flex:1}
.ng-badge{background:var(--bad);color:#fff;font-size:11px;font-weight:700;border-radius:6px;padding:1px 7px;letter-spacing:.04em}
.ng-body{display:flex;flex-direction:column;gap:3px}
.ng-act{margin:0;gap:6px;flex-wrap:wrap}
.ng-act{flex-wrap:nowrap}.ng-act .sel{flex:1;min-width:0;height:32px;font-size:13px}
.ng-period{flex-wrap:wrap;gap:8px}.ng-period .inp{width:auto;height:32px}
.ng-x table{min-width:0}
.ng-x th.n{white-space:nowrap;font-size:12px}
.ng-x tfoot td{border-top:2px solid var(--line);padding-top:8px;padding-bottom:8px}
.ng-z{color:var(--muted);opacity:.5}
.ng-none .nm{color:var(--muted)}
.ng-tot{background:var(--surface-2)}
.ng-unk td{background:var(--part-bg)}
.ng-side{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;margin-top:16px;align-items:start}
.ng-push summary{cursor:pointer;margin-top:4px}.ng-push textarea{font-family:var(--mono);font-size:11px;width:100%;white-space:pre}
.ng-ok{color:var(--work)}
.ng-open{color:var(--part)}
.ng-sub td{background:var(--surface-2);padding-top:6px;padding-bottom:8px}
.ng-sub ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:5px;font-size:13px}
.ng-sub li{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.srv-row{display:grid;grid-template-columns:90px 1fr auto;gap:10px;align-items:center;font-size:13px}
.srv-bar{height:8px;background:var(--surface-2);border-radius:99px;overflow:hidden;border:1px solid var(--line)}
.srv-bar i{display:block;height:100%;background:var(--work)}
.srv-bar i.warn{background:var(--bad)}

.sumline{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 12px;padding:10px 12px;border:1px solid var(--line-strong);border-radius:10px;background:var(--surface)}
.sumline b{font-size:22px;font-family:var(--mono)}

.crmfired{font-size:11px;font-weight:700;color:#fff;background:var(--bad);border-radius:5px;padding:1px 5px;white-space:nowrap;font-family:var(--sans)}
.crmref{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;margin-left:2px;padding:0;border:1px solid var(--line-strong);border-radius:6px;background:var(--surface);color:var(--muted);font-size:13px;line-height:1;cursor:pointer;vertical-align:middle}
.crmref:hover{color:var(--ink);border-color:var(--ink)}
.crmref.spin{animation:crmspin 1s linear infinite}
@keyframes crmspin{to{transform:rotate(360deg)}}
.stgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:10px}
.stcity{padding:10px 12px}
.stcity h3{margin:0;font-size:15px}
.stcity table.list td,.stcity table.list th{padding:4px 6px}
.sdb{display:inline-block;min-width:22px;text-align:center;font-weight:700;border-radius:5px;padding:0 5px}
.sdb.y{background:var(--mid-bg);color:var(--mid)}.sdb.r{background:var(--bad-bg);color:var(--bad)}
.stk{display:inline-flex;flex-direction:column;align-items:center;gap:4px;padding:6px;border:1px solid var(--line);border-radius:10px;width:96px}
.stk img{width:72px;height:72px;object-fit:contain}
.stk .ph{width:72px;height:72px;display:flex;align-items:center;justify-content:center;font-size:40px}
.stk.off{opacity:.45}
.inp.chatq{display:block;width:100%;max-width:340px;margin:4px 0 6px;padding:6px 10px;font-size:14px}
.inp.chatq.empty{border-color:var(--bad);background:var(--bad-bg)}
select.chatsel+datalist+.inp.chatq,.toolbar .inp.chatq{display:inline-block;margin:0}
.gtitle-row{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap}
.ng-accs{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}
.ng-acc{padding:0}
.ng-acc>summary{cursor:pointer;padding:12px 16px;list-style:revert}
.ng-acc[open]>summary{border-bottom:1px solid var(--line)}
.ng-acc[open]{padding-bottom:12px}
.ng-acc[open]>*:not(summary){margin-left:16px;margin-right:16px}
.ng-acc .tgbubble{max-width:100%}
.ng-acc.card,.ng-acc.cov-box{padding:0;display:block}
.ng-acc>summary{padding:11px 16px}
.oftab th[data-ofcol]{cursor:grab;user-select:none;white-space:nowrap}
.oftab th.dragging{opacity:.4}.oftab th.dragover{box-shadow:inset 3px 0 0 var(--accent)}
.oftab td,.oftab th{padding:6px 9px}.oftab .of-city{position:sticky;left:0;background:var(--surface);z-index:1;white-space:nowrap;font-weight:600}
.oftab tr.of-agg td{font-weight:700;background:var(--surface-2)}
.rv-kpi.rv-big{font-size:17px;padding:8px 16px}.rv-kpi.rv-big b{font-size:22px;margin-left:4px}
.oftab tr.hr-sub td{background:var(--surface-2);padding:4px 9px}
.ofone{font-variant-numeric:tabular-nums}
.ofone td,.ofone th{padding:7px 9px;border-bottom:1px solid #d5dce3}
.ofone td.n{font-weight:700;font-size:15px;color:#0f1720}
.ofone td.of-city{font-size:15px;font-weight:700;color:#0f1720}
.ofone .of-first{border-left:2px solid #b9c3cd}
.ofone th.of-cat{text-align:center;font-size:14px;font-weight:800;color:#0f1720;background:var(--surface-2);border-left:2px solid #b9c3cd}
.ofone th.of-sub{font-size:12px;font-weight:700;color:#334155;cursor:pointer;white-space:nowrap}
.ofone th.of-sub:hover{color:var(--accent)}
.ofone tr.of-agg td{background:#e9edf2}
.ofone th.of-sub[draggable]{cursor:grab}
.ofone .ofsend{border:1px solid #b9c3cd;background:#fff;border-radius:6px;font-size:13px;padding:1px 5px;margin-left:6px;cursor:pointer;vertical-align:middle}
.ofone .ofsend:hover{background:#e8f0ff;border-color:var(--accent)}
.ofone .ofsend:disabled{opacity:.5}
.hrtab th.hr-h{white-space:normal;min-width:84px;font-size:13px;font-weight:800;color:#1e293b;cursor:grab;vertical-align:bottom}
.hrtab th.hr-h:hover{color:var(--accent)}
.hrtab td.n{font-size:16px}
.hrtab tfoot td{font-weight:800;font-size:16px}
.hrtab tr.hr-sub td{font-size:13px;font-weight:600}
.hr-miss{display:inline-block;margin-left:4px;padding:1px 7px;border-radius:10px;background:#fde2e2;color:#b42318;font-size:12px;font-weight:700;white-space:nowrap}
.hr-today{font-size:16px;padding:12px 16px}
.hr-today.bad{background:#fff1f1;border:2px solid #f19a9a}
.hr-today.ok{background:#effaf2;border:2px solid #9bd8a8}
.hr-chip{display:inline-block;margin:3px 4px 0 0;padding:3px 10px;border-radius:12px;background:#fff;border:1px solid #f19a9a;font-weight:700;color:#b42318}
.hr-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.hr-chips .hr-chip{margin:0;font-size:16px}
.hrtab th.hr-h{text-align:left;font-family:inherit}
.hrtab td.of-city .mname{font-weight:800;font-size:16px;color:#0f1720}
.hr-gtab td,.hr-gtab th{padding:6px 10px}
.hr-gtab td.of-city{font-weight:800;font-size:16px;white-space:nowrap}
.hr-gtab td.hr-gsum{font-weight:800;font-size:18px;width:60px}
.hr-g{display:inline-block;margin:2px 6px 2px 0;padding:3px 9px;border-radius:10px;background:#eef6f0;border:1px solid #cfe6d5;font-size:15px;white-space:nowrap}
.hr-g b{font-size:16px}
.hrtab th.hr-sh{background:#e8f0fb;color:#1d4e89}
.hr-gtab{width:auto;min-width:520px}
.hr-gtab td.of-city{padding-right:24px}
.sd-dirs{font-size:13px;color:#5a6774;margin-top:1px}
.pftab th.hr-h{min-width:78px}
.pf-btns{display:flex;gap:3px;margin-top:3px}
.pf-btns .ofsend{margin:0;padding:0 4px;font-size:12px}
.pftab td.n{white-space:nowrap}
.pftab td.of-city,.pftab th.of-city{position:sticky;left:0;background:#fff;z-index:1}
.pftab tr.of-agg td.of-city{background:#e9edf2}
.pftab th{position:relative}
.pf-rs{position:absolute;top:0;right:-3px;width:8px;height:100%;cursor:col-resize;z-index:2}
.pf-rs:hover,.pf-rs:active{background:rgba(37,99,235,.25)}
.pftab td.pf-fix{overflow:hidden;text-overflow:ellipsis}
.pftab th.hr-h{white-space:normal}
/* «Показатели»: всё по центру ячейки — при любой ширине графы */
.pftab th.hr-h,.pftab td.n{text-align:center}
.pftab th.hr-h .pf-btns{justify-content:center}
.pftab td.pf-fix{white-space:normal;overflow-wrap:anywhere;text-overflow:clip}
/* «Показатели»: чёткая сетка — ячейки не сливаются */
.pftab{border-collapse:separate;border-spacing:0}
.pftab th,.pftab td{border-right:1px solid #c9d2dc;border-bottom:1px solid #c9d2dc}
.pftab thead th{border-bottom:2px solid #9fb0c2;background:#f6f8fa}
.pftab th:first-child,.pftab td:first-child{border-left:1px solid #c9d2dc}
.pftab thead tr:first-child th{border-top:1px solid #c9d2dc}
.pftab td.of-city,.pftab th.of-city{border-right:2px solid #9fb0c2}
.pftab tr.of-agg td{border-top:2px solid #9fb0c2}
.pftab tbody tr:hover td{box-shadow:inset 0 0 0 9999px rgba(15,23,32,.04)}
.tgbubble.tgphoto{padding:4px 4px 8px;max-width:640px}
.tgbubble.tgphoto img{display:block;max-width:100%;border-radius:9px;margin-bottom:6px}
.tgbubble.tgphoto div{padding:0 8px}

/* ---- «Показатели»: колонка «Город» как остальные ---- */
.pftab th.of-city{font-size:13px;font-weight:800;color:#1e293b;text-align:center;vertical-align:middle;letter-spacing:0;text-transform:none}
.pftab td.of-city{text-align:center}

/* ---- вкладки: «Ещё», меню разделов, перетаскивание ---- */
.tab-more{margin-left:auto;color:var(--ink);font-weight:600}
.tab-more .count{margin-left:4px}
#tabs .tab.dragover,#tabs .tabtile.dragover,.tabs .tab.dragover,.sttabs .chip.dragover,.tabitem.dragover{outline:2px dashed var(--accent);outline-offset:-2px}
#tabs .tab.dragging,#tabs .tabtile.dragging,.tabs .tab.dragging,.sttabs .chip.dragging,.tabitem.dragging{opacity:.5}
.tabmenu{margin:-8px 0 14px}
.tabgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:6px}
.tabitem{display:flex;align-items:center;gap:6px;border:1px solid var(--line-strong);border-radius:10px;padding:4px 6px;background:var(--surface);cursor:grab}
.tabitem.on{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}
.tabitem .grip{color:var(--muted);font-size:13px;letter-spacing:-2px;user-select:none}
.tablink{flex:1;text-align:left;background:none;border:0;padding:8px 4px;font-size:15px;font-weight:600;color:var(--ink)}
.pinbtn{background:none;border:0;font-size:20px;line-height:1;padding:4px 6px;color:#c08a00}
.pinbtn[aria-pressed="false"]{color:var(--muted)}

/* ---- телефон: весь сайт ---- */
@media (max-width:700px){
  body{padding-inline:10px}
  .tabs{position:sticky;top:0;z-index:30;background:var(--bg);margin-inline:-10px;padding-inline:6px;margin-bottom:10px}
  .tab{padding:12px 12px;font-size:15px}
  .tab-more{position:sticky;right:0;background:var(--bg);box-shadow:-8px 0 8px -6px rgba(0,0,0,.15)}
  .tabmenu{margin:-6px -2px 12px}
  .tabgrid{grid-template-columns:1fr}
  .tablink{font-size:16px;padding:10px 4px}
  .panel.card,.card{padding:12px}
  .toolbar{flex-wrap:wrap;gap:8px}
  .toolbar .spacer{display:none}
  .toolbar label.small{display:flex;align-items:center;gap:6px}
  .toolbar input[type=date]{width:auto;min-width:0;flex:1}
  .toolbar .sel{max-width:100%}
  .btn{min-height:40px}
  .btn.sm{min-height:36px;padding:6px 12px}
  .chip{min-height:36px;padding:6px 12px}
  .chips{gap:6px}
  .sttabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-inline:-10px;padding-inline:10px}
  .sttabs::-webkit-scrollbar{display:none}
  .sttabs .chip{white-space:nowrap}
  .stgrid{grid-template-columns:1fr}
  .rv-chats{max-height:260px}
  .rv-chats .check{padding:6px 0;font-size:15px}
  .hint{font-size:12.5px}
  .scroll{-webkit-overflow-scrolling:touch}
  .ofone td,.ofone th{padding:6px 7px}
  .ofone td.n,.ofone td.of-city{font-size:14px}
  .pftab th.hr-h{min-width:70px;font-size:12px}
  .pf-rs{width:14px;right:-7px}
  .hr-today{font-size:15px}
  .tgbubble.tgphoto{max-width:100%}
  .dlg{width:calc(100vw - 16px)}
  h2{font-size:18px}
}
.upbtn{background:none;border:1px solid var(--line);border-radius:6px;font-size:14px;padding:2px 8px;color:var(--muted)}
@media (max-width:700px){
  .top{padding-block:8px 6px;gap:6px 8px}
  .brand{width:100%;order:-2;gap:8px;margin:0}  /* на телефоне — логотип и название отдельной строкой сверху */
  .brand h1{font-size:15px}
  .brand .brand-mark{width:28px;height:28px;font-size:12px;border-radius:7px}
  .user{font-size:12px}
  .user .btn{min-height:32px;padding:4px 8px}
  .toolbar input[type=number]{width:84px;flex:0 0 84px}
  .tabitem .upbtn{padding:6px 12px;font-size:16px}
  .pinbtn{font-size:24px}
}
.pf-unit{font-weight:800;min-width:28px}

/* ---- мастера ставят график ---- */
.sr-box summary{cursor:pointer}
.sr-week{border-top:1px solid var(--line);padding:8px 0}
.sr-bar{width:160px;height:12px;border-radius:6px;background:#e5e7eb;overflow:hidden}
.sr-bar i{display:block;height:100%;background:#22a35a}
.sr-miss{margin-top:6px;display:flex;flex-wrap:wrap;gap:4px;align-items:center}
.sr-m{background:#fff3e0;border:1px solid #f4c27a;border-radius:10px;padding:2px 8px;font-size:13px}
.sr-m.nochat{background:#fde2e2;border-color:#f19a9a}
/* ---- календарь СД ---- */
.sdc-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;max-width:760px}
.sdc-h{text-align:center;font-size:12px;font-weight:700;color:var(--muted)}
.sdc-cell{position:relative;height:72px;border:1px solid var(--line-strong);border-radius:10px;background:var(--surface);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:4px}
.sdc-cell .dn{font-size:13px;color:var(--muted);position:absolute;top:4px;left:8px}
.sdc-cell .cnt{font-size:24px;font-weight:800}
.sdc-cell.out{opacity:.45}
.sdc-cell.today{border:2px solid var(--accent)}
.sdc-cell.sel{box-shadow:0 0 0 3px rgba(37,99,235,.35)}
.sdc-cell.lo{background:#fff6d6}
.sdc-cell.mid{background:#ffe1bf}
.sdc-cell.hi{background:#fcc9c4}
.sdc-cell:disabled{cursor:default}
@media (max-width:700px){.sdc-cell{height:56px}.sdc-cell .cnt{font-size:19px}.sr-bar{width:100px}}
@media (max-width:700px){.sdc-grid{gap:4px}.sdc-cell .dn{font-size:11px;top:3px;left:5px}.sdc-cell .cnt{margin-top:12px}}

/* ---- Норма СД по городам ---- */
.sntab{font-variant-numeric:tabular-nums;max-width:860px}
.sntab th{font-size:14px;font-weight:800;color:#1e293b;text-align:center;background:#eef2f7;border-bottom:2px solid #9fb0c2}
.sntab td{font-size:18px;padding:10px 14px;border-bottom:1px solid #dde3ea;text-align:center}
.sntab td.of-city{text-align:left;font-weight:800}
.sntab td.sn-diff{font-weight:800;font-size:20px}
.sn-ok{background:#c9ecd3;color:#14532d}
.sn-zero{background:#e7f6ea;color:#14532d}
.sn-bad{background:#fbd0cc;color:#991b1b}
.sn-pill{display:inline-block;padding:0 8px;border-radius:8px;font-weight:700}
.sntab tr.of-agg td{background:#e9edf2;font-weight:800}
/* Несобранная касса: отправка города — над названием, сразу видно */
.up-send{background:#f6f8fa;border:1px solid #dbe2ea;border-radius:10px;padding:8px 10px;margin:0 0 8px}
.up-send .rv-chats{margin:0 0 6px}
.up-send .btn{width:100%}
.up-chats{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center}
.up-send .up-chats{margin:0 0 6px}
.up-send .up-chats .small{min-width:64px}
.up-send .btn{white-space:normal;height:auto;line-height:1.3;padding-top:6px;padding-bottom:6px}
/* Сводка по филиалам */
.ovtab th.n{text-align:center;white-space:normal;font-size:13px;line-height:1.25;vertical-align:bottom;min-width:64px}
.ovtab td.n{text-align:center;white-space:nowrap;font-size:15px}
.ovtab td.ov-bad{color:#b42318;font-weight:700;background:#fdecec}
.ovtab td.ov-ok{color:#1e7b34}
.ovtab td.of-city,.ovtab th.of-city{position:sticky;left:0;background:#fff;z-index:1;text-align:left}
.ovtab th .ov-x{display:block;margin:4px auto 0;font-size:11px;padding:0 6px;opacity:.55}
.ovtab th .ov-x:hover{opacity:1}
.ovtab th[data-ovcol]{cursor:grab}
.ovtab td.ov-go{cursor:pointer}
.ovtab td.ov-go:hover{outline:2px solid #2f6fde;outline-offset:-2px;text-decoration:underline}
.tab.tab-back{color:#fff;background:#2f6fde;border-radius:8px 8px 0 0;font-weight:700}
.ovtab th[data-ovsort]{cursor:pointer}
.ovtab th.ov-sorted{color:#2f6fde}
.ovtab td.of-city .ov-rx{margin-left:8px;font-size:11px;padding:0 6px;opacity:0;vertical-align:middle}
.ovtab tr:hover td.of-city .ov-rx{opacity:.6}
.ovtab td.of-city .ov-rx:hover{opacity:1}
@media (hover:none){.ovtab td.of-city .ov-rx{opacity:.5}}
.ovtab td.of-city{white-space:nowrap}
/* Сводка: заголовки граф — чёрные, крупные, хорошо видно на скринах */
.ovtab thead th,.ovtab thead th.n,.ovtab thead th.of-city{color:#111;font-weight:700;font-size:13.5px;letter-spacing:0;text-transform:none;background:#f3f5f8}
.ovtab thead th.ov-sorted{color:#1d4fb8}
.ovtab tbody td.of-city b{color:#111}
.ovtab thead th,.ovtab tbody td{font-family:var(--sans)}
.ovtab tbody td.n{font-weight:600;font-size:16px;color:#111}
.ovtab tbody td.ov-bad{color:#b42318}
.ovtab tbody td.ov-ok{color:#1e7b34}
.ovtab tbody td.muted{color:#888}
.pill.crm-fired{background:#fde2e2;color:#b42318;border-color:#f5b5b5;font-weight:600}
/* Сотрудники: заметная кнопка обновления из CRM; исключения с причиной */
.btn.staff-crm{font-weight:700;padding-inline:16px}
.ofsend.ex-btn{margin-left:6px;font-size:11px;padding:1px 6px;opacity:.75}
.ofsend.ex-btn:hover{opacity:1}
.ex-note{font-size:11.5px;color:#555;margin-top:3px;max-width:220px;white-space:normal}
/* Рассылки Рег */
/* График → CRM «Выходные» */
.cs-city{border:1px solid var(--line);border-radius:10px;padding:8px 10px;background:#fbfcfd}
.cs-items{margin:6px 0 2px 24px;font-size:13px;line-height:1.7}
.cs-d{display:inline-block;padding:0 6px;border-radius:6px;margin:1px 2px;font-size:12px}
.cs-d.off{background:#fde2e2;color:#9c0006}
.cs-d.on{background:#d9f2df;color:#0b5d1e}

/* ================= Тёмная тема: всё, что было с «жёсткими» светлыми цветами ================= */
:root[data-theme="dark"] body{background:var(--bg);color:var(--ink)}
:root[data-theme="dark"] .tgchat{background:#1E2A35;background-image:linear-gradient(135deg,#1D2B24 0%,#18263A 100%)}
:root[data-theme="dark"] .tgbubble{background:#24313D;color:#E9EEF3}
:root[data-theme="dark"] .grid td.wk1end,:root[data-theme="dark"] .grid thead th.wk1end{border-right-color:#5E7FA8}
/* таблицы статистики/сводки: заголовки, город, сетка */
:root[data-theme="dark"] .ofone td,:root[data-theme="dark"] .ofone th{border-bottom-color:#2F3D4A}
:root[data-theme="dark"] .ofone td.n,:root[data-theme="dark"] .ofone td.of-city,:root[data-theme="dark"] .ofone th.of-cat,
:root[data-theme="dark"] .hrtab th.hr-h,:root[data-theme="dark"] .hrtab td.of-city .mname,:root[data-theme="dark"] .pftab th.of-city,
:root[data-theme="dark"] .sntab th,:root[data-theme="dark"] .ovtab thead th,:root[data-theme="dark"] .ovtab tbody td.of-city b,
:root[data-theme="dark"] .ofone th.of-cat{border-left-color:#3E4D5B}
:root[data-theme="dark"] .ofone th.of-sub{color:#C5D0DB}
:root[data-theme="dark"] .ofone tr.of-agg td,:root[data-theme="dark"] .pftab tr.of-agg td.of-city,:root[data-theme="dark"] .sntab tr.of-agg td{background:#22303C}
:root[data-theme="dark"] .ofone .ofsend{background:#22303C;border-color:#3E4D5B;color:#E4EAF0}
:root[data-theme="dark"] .ofone .ofsend:hover{background:#2C3E52}
:root[data-theme="dark"] .pftab td.of-city,:root[data-theme="dark"] .pftab th.of-city,:root[data-theme="dark"] .ovtab td.of-city,:root[data-theme="dark"] .ovtab th.of-city{background:var(--surface)}
:root[data-theme="dark"] .pftab th,:root[data-theme="dark"] .pftab td{border-color:#34424F}
:root[data-theme="dark"] .pftab thead th{background:#1F2B36;border-bottom-color:#4A5B6B}
:root[data-theme="dark"] .pftab td.of-city,:root[data-theme="dark"] .pftab th.of-city{border-right-color:#4A5B6B}
:root[data-theme="dark"] .sntab th{background:#1F2B36;border-bottom-color:#4A5B6B}
:root[data-theme="dark"] .sntab td{border-bottom-color:#2F3D4A}
:root[data-theme="dark"] .ovtab thead th.ov-sorted,:root[data-theme="dark"] .ovtab th.ov-sorted{color:#8DB4FF}
:root[data-theme="dark"] .ovtab td.ov-bad,:root[data-theme="dark"] .ovtab tbody td.ov-bad{color:#FF9B90;background:#3A1D1B}
:root[data-theme="dark"] .ovtab td.ov-ok,:root[data-theme="dark"] .ovtab tbody td.ov-ok{color:#6FDCA0}
:root[data-theme="dark"] .ovtab tbody td.muted{color:#7F8C99}
/* плашки и пометки */
:root[data-theme="dark"] .hr-miss,:root[data-theme="dark"] .pill.crm-fired,:root[data-theme="dark"] .cs-d.off,:root[data-theme="dark"] .sr-m.nochat{background:#3E1C1C;color:#FFB4AB;border-color:#6B2C2C}
:root[data-theme="dark"] .hr-today.bad{background:#2E1A1A;border-color:#7A3434}
:root[data-theme="dark"] .hr-today.ok{background:#16291E;border-color:#2F6B45}
:root[data-theme="dark"] .hr-chip{background:#2E1A1A;border-color:#7A3434;color:#FFB4AB}
:root[data-theme="dark"] .hr-g{background:#16291E;border-color:#2F6B45;color:#D7F5E3}
:root[data-theme="dark"] .hrtab th.hr-sh{background:#1C2C44;color:#A9C7F5}
:root[data-theme="dark"] .sd-dirs,:root[data-theme="dark"] .ex-note{color:#A7B3BF}
:root[data-theme="dark"] .sr-bar{background:#2A3743}
:root[data-theme="dark"] .sr-m{background:#3A2A12;border-color:#7A5A22;color:#F5DDB0}
:root[data-theme="dark"] .sdc-cell.lo{background:#3A3416}:root[data-theme="dark"] .sdc-cell.mid{background:#4A3214}:root[data-theme="dark"] .sdc-cell.hi{background:#4E1E1A}
:root[data-theme="dark"] .sn-ok,:root[data-theme="dark"] .sn-zero{background:#16341F;color:#9BE7B5}
:root[data-theme="dark"] .sn-bad{background:#45201C;color:#FFB4AB}
:root[data-theme="dark"] .up-send,:root[data-theme="dark"] .cs-city{background:var(--surface-2);border-color:var(--line-strong)}
:root[data-theme="dark"] .cs-d.on{background:#16341F;color:#9BE7B5}
:root[data-theme="dark"] .log .bot{color:#6CC8F5}
/* ячейки, закрашенные цветом прямо в разметке (тепловые карты, «цвета», норма СД): на светлом фоне — тёмный текст */
:root[data-theme="dark"] td[style*="background"],:root[data-theme="dark"] td[style*="background"] b,:root[data-theme="dark"] td[style*="background"] span{color:#101418!important}
:root[data-theme="dark"] td[style*="background"] .ng-z{color:#101418!important;opacity:.6}
/* поля ввода и выпадающие списки */
:root[data-theme="dark"] input,:root[data-theme="dark"] select,:root[data-theme="dark"] textarea{color-scheme:dark}
:root[data-theme="dark"] span[style*="background"]{color:#101418}
.partner-sel{margin-top:4px;max-width:200px;font-size:12px;padding:2px 4px}
.dyntab td.dyn-c b{font-size:18px}
.dyntab .dyn-ab{font-size:15px;color:var(--ink);white-space:nowrap;margin-top:4px;font-weight:600;font-family:var(--sans)}
.dyntab .dyn-ab.big{font-size:16px;margin:0}
.dyntab .dyn-was{opacity:.75}
.dyntab .dyn-now{font-weight:800}
:root[data-theme="dark"] .dyntab td[style*="background"] .dyn-ab,:root[data-theme="dark"] .dyntab td[style*="background"] .dyn-ab span{color:#101418!important}
.d-pending{outline:2px solid var(--accent);outline-offset:1px}
.d-apply{margin-left:4px}
.dyntab td.of-city{white-space:nowrap}
.dyntab td.of-city .dyn-rx{margin-left:8px;font-size:11px;padding:0 6px;opacity:.35;vertical-align:middle}
.dyntab tr:hover td.of-city .dyn-rx,.dyntab td.of-city .dyn-rx:hover{opacity:1}
/* Автоотправка */
.au-card{border-left:4px solid var(--line-strong)}
.au-card.au-on{border-left-color:var(--work)}
.au-t{font-size:18px}
.au-sw{display:inline-flex;align-items:center;gap:6px;font-size:15px;cursor:pointer}
.au-sw input{width:18px;height:18px}
.au-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px}
.au-row>b.small{min-width:105px}
.au-bad{color:var(--bad);font-weight:600}
.au-ok{color:var(--ok);font-weight:600}
/* «Показатели»: сворачиваемые строки */
.pf-fold{margin-top:8px;border-top:1px solid var(--line);padding-top:6px}
.pf-fold-h{display:flex;align-items:center;gap:8px;background:none;border:0;padding:4px 2px;cursor:pointer;color:var(--ink);font:inherit;font-size:15px;text-align:left;width:100%}
.pf-fold-h:hover{color:var(--accent)}
.pf-fold-a{width:14px;display:inline-block;color:var(--muted)}
.pf-fold-s{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:70vw}
.pf-fold-b{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:6px 0 2px 22px}
.ovtab .ov-chk{cursor:default}
.ov-shift{display:inline-flex;align-items:center;gap:6px;cursor:pointer;font-weight:600;white-space:nowrap}
.ov-shift input{width:20px;height:20px;cursor:pointer}
.au-grip{cursor:grab;font-size:22px;line-height:1;color:var(--muted);padding:2px 4px;user-select:none}
.au-grip:active{cursor:grabbing}
.au-card.dragging{opacity:.5}
.au-card.au-over{outline:2px dashed var(--accent);outline-offset:2px}
.au-mv{display:inline-flex;gap:4px}
.au-mv .btn{min-width:34px;font-size:16px}
.rntab td.rn-norm b{font-size:17px}
.rntab th[data-rnsort],.ndtab th[data-ndsort]{cursor:pointer}
.swr-badge{position:fixed;right:16px;bottom:16px;z-index:50;background:var(--ink);color:var(--surface);padding:8px 14px;border-radius:10px;font-size:14px;box-shadow:var(--shadow);opacity:.92}
/* Негативные отзывы 2 */
.n2scroll{max-height:72vh;overflow:auto;border:1px solid var(--line-strong);border-radius:8px}
.n2tab{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%;font-size:14px;font-family:var(--sans)}
.n2tab th,.n2tab td{border-right:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);padding:6px 9px;text-align:left;vertical-align:middle;line-height:1.3}
.n2tab th{position:sticky;top:0;z-index:2;background:#2B3A4A;color:#fff;font-weight:700;font-size:14px;white-space:nowrap;cursor:pointer;user-select:none}
.n2tab th:hover{background:#3A4D61}
.n2tab th.n2-sorted{background:var(--accent)}
.n2tab th.dragover{outline:2px dashed #fff;outline-offset:-3px}
.n2tab td{max-width:320px}
.n2tab td.nw{white-space:nowrap}
.n2tab tr.n2-day td{background:#E4E9EF!important;font-weight:700;font-size:15px;color:var(--ink);position:sticky;top:34px;z-index:1}
.n2tab tr.n2-ok td{background:#e3f4e6}
.n2tab tr.n2-hang td{background:#fbe1de}
.n2tab tr.n2-open td{background:#fff3cd}
.n2tab tr.n2-hid td{background:#eceff2;color:#555}
.n2tab td.n2-st{font-weight:700;white-space:nowrap}
.n2-crm{font-size:11px;background:var(--vac-bg);color:var(--vac);border-radius:4px;padding:0 4px;font-weight:700}
.n2-filt{display:flex;flex-direction:column;gap:8px}
.n2-frow{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.n2-frow>b{min-width:100px}
:root[data-theme="dark"] .n2tab tr.n2-day td{background:#2a3644!important}
.n2-pill{padding:1px 8px;border-radius:6px}
.n2-pill.n2-ok{background:#e3f4e6}.n2-pill.n2-hang{background:#fbe1de}.n2-pill.n2-open{background:#fff3cd}.n2-pill.n2-hid{background:#eceff2}
.n2-bad{color:var(--bad);font-weight:700}
.n2-sum{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-start}
.n2-sumtab td,.n2-sumtab th{font-size:15px}
.n2-kv{display:grid;grid-template-columns:auto auto;gap:4px 14px;border:1px solid var(--line);border-radius:10px;padding:10px 14px;min-width:170px}
.n2-kv div{display:contents}.n2-kv span{color:var(--muted)}.n2-kv b{text-align:right;font-size:16px}
:root[data-theme="dark"] .n2tab tr.n2-ok td{background:#173a24}
:root[data-theme="dark"] .n2tab tr.n2-hang td{background:#4a1f1f}
:root[data-theme="dark"] .n2tab tr.n2-open td{background:#3f3415}
:root[data-theme="dark"] .n2tab tr.n2-hid td{background:#262f38;color:#aab}
.n2-upd{border-left:4px solid var(--mid);background:var(--mid-bg)}
.n2tab .n2-crit{color:#C62828}
.n2-x{margin-left:6px;background:rgba(255,255,255,.15);border:0;color:#fff;border-radius:4px;font-size:11px;cursor:pointer;padding:0 4px;opacity:.7}
.n2-x:hover{opacity:1;background:rgba(255,255,255,.35)}
.n2-sbox-wrap{display:flex;flex-wrap:wrap;gap:14px;margin-top:8px}
.n2-sbox{border:1px solid var(--line);border-radius:10px;padding:10px 12px;flex:1;min-width:320px}
.n2-sbox h4{margin:0 0 8px;font-size:16px}
.n2-tiles{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}
.n2-tile{border:1px solid var(--line);border-radius:8px;padding:4px 10px;display:flex;gap:8px;align-items:baseline;background:var(--surface-2)}
.n2-tile span{color:var(--muted);font-size:13px}.n2-tile b{font-size:16px}
.n2-tile.ok b{color:var(--ok)}.n2-tile.bad b{color:var(--bad)}
.n2-step{border-top:1px solid var(--line);padding:12px 0 4px;margin-top:8px}
.n2-steph{font-weight:700;font-size:15px;margin-bottom:8px}
.n2-step .n2-frow{margin-bottom:8px}
.n2-sendcards{display:flex;flex-wrap:wrap;gap:14px}
.n2-sendcard{flex:1;min-width:340px;border:1px solid var(--line);border-radius:10px;padding:12px 14px;background:var(--surface-2)}
.n2-sendcard h4{margin:0 0 10px;font-size:16px}
.n2-sendrow{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 0;border-top:1px dashed var(--line)}
.n2-sendrow>span{min-width:160px;font-weight:600}
.n2-cat{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:700;margin:8px 0 4px}
.n2-c-all{color:var(--ink)}.n2-c-open{color:var(--bad);font-weight:700}.n2-c-ok{color:var(--ok);font-weight:700}
/* фильтры «Негативные отзывы 2» — просторнее */
.n2-filt .n2-frow{gap:12px;padding:10px 0;border-bottom:1px solid var(--line);margin:0}
.n2-filt .n2-frow:last-child{border-bottom:0}
.n2-filt .n2-frow>b{min-width:130px;font-size:15px}
.n2-filt .chips{gap:8px}
.n2-filt .chip{padding:6px 14px;font-size:14px}
.n2-filt{gap:0}
.n2-sendall{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:14px;padding-top:12px;border-top:1px dashed var(--line)}
.drawer.no-anim{animation:none!important}

/* перетаскивание пальцем: без выделения текста и системного меню при долгом нажатии */
[draggable="true"]{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.dnd-ghost{opacity:.85;box-shadow:0 8px 24px rgba(0,0,0,.25);border-radius:8px;background:var(--panel,#fff);transform:scale(1.04);transition:none!important;overflow:hidden;display:flex;align-items:center;justify-content:center}
.dnd-lift{opacity:.35}

.zamtbl{font-size:15px}.zamtbl td,.zamtbl th{padding:6px 12px;border:1px solid var(--line,#ddd)}.zam-sum td{background:var(--bg2,#f3f4f6)}

/* Касса */
.cash-kpi{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}
.cash-kpi>div{flex:1 1 170px;border:1px solid var(--line,#dde3ea);border-radius:10px;padding:8px 12px;background:var(--panel,#fff);display:flex;flex-direction:column}
.cash-kpi span{font-size:13px;color:var(--muted,#5a6774)}.cash-kpi b{font-size:22px}.cash-kpi i{font-style:normal;font-size:12px;color:var(--muted,#5a6774)}
.cash-kpi2>div{flex:1 1 120px}.cash-kpi2 b{font-size:18px}
.cash-kbad{border-color:#e8a29b!important;background:#fdecea!important}
.cash-m{border:1px solid var(--line,#dde3ea);border-radius:10px;margin:0 0 8px;background:var(--panel,#fff)}
.cash-m>summary{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 12px;cursor:pointer;font-size:16px}
.cash-mn{min-width:180px}.cash-ms{font-weight:700;font-size:17px;min-width:110px}
.cash-tab td,.cash-tab th{padding:6px 8px;font-size:15px;vertical-align:middle}
.cash-act{white-space:nowrap}.cash-mk{min-width:34px;font-weight:700}
.cash-mk.on-ok{background:#c6efce;border-color:#6cbf7c}.cash-mk.on-bad{background:#f8c9c9;border-color:#d96b6b}.cash-mk.on-diff{background:#ffe8a3;border-color:#d9b44a}
tr.cash-ok td{background:#f0faf2}tr.cash-bad td{background:#fdecea}tr.cash-diff td{background:#fff7dc}
tr.cash-gone td{text-decoration:line-through;color:#9aa4af}
.cash-flag{display:inline-block;font-size:12px;padding:1px 6px;border-radius:6px;background:#fff1d6;color:#8a5a00;border:1px solid #f0d08a;margin:1px 0}
.cash-ok{color:#1d7f54;font-weight:600}.cash-bad{color:#b42318;font-weight:600}
.cash-fact{display:flex;flex-wrap:wrap;gap:12px}.cash-fi{display:flex;flex-direction:column;gap:4px;flex:1 1 200px}
.cash-carry{border-color:#e8a29b}
.sel.sm{padding:4px 6px;font-size:14px}
.cash-krest{border-color:#6cbf7c!important;background:#effaf1!important}.cash-krest b{color:#1d7f54}

/* Настройки: сворачиваемые разделы */
.set-fold>summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:8px}
.set-fold>summary::-webkit-details-marker{display:none}
.set-fold>summary::before{content:"▸";font-size:18px;color:var(--muted,#5a6774);transition:transform .15s}
.set-fold[open]>summary::before{transform:rotate(90deg)}
.set-fold>summary h2{margin:0}
.set-fold[open]>summary{margin-bottom:10px}
.ugrp{border:1px solid var(--line,#dde3ea);border-radius:10px;margin:0 0 8px;padding:6px 10px}
.ugrp>summary{cursor:pointer;padding:6px 0;font-size:16px}

.unf-tag{display:inline-block;font-size:12px;line-height:1.3;color:#b42318;border:1.5px solid #e5484d;border-radius:6px;padding:0 6px;margin-left:4px;background:#fff5f5;white-space:nowrap}
tr.crm-new>td{background:#ffe2c2!important}tr.crm-new>td.name{box-shadow:inset 4px 0 0 #f08c00}
.crm-new-tag{background:#f08c00!important;color:#fff!important;border-color:#f08c00!important}
.cash-cats td,.cash-cats th{padding:6px 10px;font-size:15px}.cash-cats{max-width:620px}
.nocrm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}
.nocrm-city{border:1px solid var(--line,#dde3ea);border-radius:10px;padding:8px 10px}.nocrm-city ul{margin:6px 0 0;padding-left:16px}
.allcities td{padding:4px 8px}
.poolmark.lvl-newmark{color:#1d7f54;font-weight:700;background:#e3f6e8;border-radius:6px;padding:0 6px;margin-left:4px}

/* Анализ рекламы */
.ads-grid{display:grid;grid-template-columns:1fr;gap:14px;max-width:1280px}
.ads-city{background:#fff;border-radius:8px;overflow:auto}
.ads-city-name{position:sticky;left:0;margin:0;padding:10px 12px;font-size:18px;line-height:1.3;color:#111}
.ads-tab{border-collapse:collapse;width:100%;font-size:16px;color:#111;table-layout:fixed}.ads-tab:not(.adsall) thead tr:last-child th:first-child{width:120px}
.ads-tab th,.ads-tab td{border:1px solid #444;padding:4px 8px;text-align:center;white-space:nowrap}
.ads-tab th{background:#fff;font-weight:700}
.ads-tab .ads-title{font-size:17px}
.ads-tab .ads-lbl{background:#fff;color:#111}
.ads-prev{text-align:center;min-width:110px}
.ads-subs{margin:6px 0 4px;padding:6px 10px;border:1px solid var(--line,#dde3ea);border-radius:8px;background:var(--panel,#fff)}
.ads-subs>summary{cursor:pointer;font-size:15px}.ads-tab.ads-sub{font-size:15px}.ads-tab.ads-sub .ads-title{font-size:15px;background:#f3f5f8}
.ads-req{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:6px 2px}
.ads-chg{display:inline-block;background:#fff3bf;border:1px solid #f0c000;border-radius:6px;padding:1px 6px;margin:2px 2px}
.ads-sum td{vertical-align:top;font-size:15px}
.ads-sumlist{margin:0;padding-left:18px}
.ads-wait{color:#8a5a00;font-size:14px}
.wktab td.wk-n{font-size:18px;text-align:center;min-width:110px}
.wktab td.wk-tot{font-weight:700}
.wktab{border-collapse:collapse}
.wktab th,.wktab td{border:1px solid #9aa3ad !important}
.wktab th{font-size:17px;cursor:pointer;text-align:center !important;color:#111 !important;font-weight:700;background:#eef1f4}
.wktab td.of-city{font-size:17px}

.au-fold{border:0;background:none;font-size:18px;cursor:pointer;padding:0 4px;color:inherit}
.au-ft,.au-per{cursor:pointer}
.au-per{font-size:15px;font-weight:600;background:#eef4ff;color:#1a3a6b;border-radius:8px;padding:3px 10px}
.au-closed{padding-top:10px;padding-bottom:10px}

.aucal summary{cursor:pointer;list-style:revert}
.aucal-grid{display:grid;grid-template-columns:repeat(7,minmax(150px,1fr));gap:8px;margin-top:10px;overflow-x:auto}
.aucal-day{background:#fff;border:1px solid #c9d1da;border-radius:10px;padding:8px;min-height:120px;display:flex;flex-direction:column;gap:6px}
.aucal-today{border:2px solid #2f6fd6;background:#f3f8ff}
.aucal-h{font-weight:800;font-size:17px;color:#111;display:flex;align-items:center;gap:6px;border-bottom:1px solid #e3e8ee;padding-bottom:4px}
.aucal-n{margin-left:auto;font-size:13px;font-weight:700;background:#eef1f4;border-radius:10px;padding:0 7px;color:#333}
.aucal-ev{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:1px;border:1px solid #d7dde4;background:#fafbfc;border-radius:8px;padding:6px 8px;cursor:pointer;color:#111;font:inherit}
.aucal-ev:hover{border-color:#2f6fd6;background:#eef4ff}
.aucal-t{font-size:16px;color:#111}
.aucal-nm{font-size:14px;font-weight:600;line-height:1.25}
.aucal-to{font-size:12px;color:#555;line-height:1.25}
.aucal-empty{color:#888;font-size:13px;padding:4px 0}
.au-flash{box-shadow:0 0 0 3px #2f6fd6;transition:box-shadow .3s}
@media (max-width:700px){.aucal-grid{grid-template-columns:repeat(7,170px)}}
.mptab td.mp-city,.mptab th.mp-city{font-weight:600;white-space:nowrap}
.mptab td.mp-name{min-width:170px}

.mptab th.mp-hd{cursor:pointer;text-align:center !important;color:#111 !important;font-weight:700;vertical-align:middle}
.mptab th.mp-th{color:#111}
.mp-avg{font-size:12px;font-weight:700;color:#1a3a6b;background:#e6eefc;border-radius:6px;padding:1px 5px;margin-top:3px;display:inline-block}
.mptab td.mp-v{font-size:16px;font-weight:700;color:#111}
.mptab td.mp-name b{font-size:15px}

input.date-pend{outline:2px solid #f59e0b;background:#fff8e6}
.date-apply{margin-left:6px}

.n2-comm{min-width:220px}
.n2-ci{width:100%;min-height:44px;font-size:14px;resize:vertical}
.n2-open-chip[aria-pressed="true"]{background:#c62828;color:#fff;border-color:#c62828}

/* Негативные отзывы: ширина граф (тянуть край — мышью и пальцем), текст ровно внутри ячейки */
.pf-rs{touch-action:none}
.n2tab th{padding-right:14px}
.n2tab th.pf-fix{white-space:normal;overflow-wrap:anywhere}
.n2tab td{overflow-wrap:anywhere;text-align:left;vertical-align:middle}
.n2tab td.pf-fix{white-space:normal;overflow:hidden}
.n2tab td.n2-comm .n2-ci{width:100%;box-sizing:border-box;min-width:0}
@media (max-width:760px){.n2tab .pf-rs{width:18px;right:-6px}}

/* Календарь автоотправки: каждый вид — свой цвет (полоса слева + заливка), легенда сверху */
.aucal-ev{background:var(--b,#fafbfc);border-color:color-mix(in srgb,var(--l,#d7dde4) 45%,#fff);border-left:6px solid var(--l,#d7dde4)}
.aucal-ev:hover{background:var(--b,#eef4ff);border-color:var(--l,#2f6fd6);border-left-color:var(--l,#2f6fd6);filter:brightness(.97)}
.aucal-ev.dim{opacity:.22}
.aucal-no{display:inline-block;margin-left:6px;min-width:18px;padding:0 5px;border-radius:9px;background:var(--l);color:#fff;font-size:12px;text-align:center;vertical-align:2px}
.aucal-leg{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.aucal-lg{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--l);background:var(--b);color:#111;border-radius:16px;padding:4px 10px;font:inherit;font-size:14px;font-weight:600;cursor:pointer}
.aucal-lg i{width:12px;height:12px;border-radius:3px;background:var(--l);display:inline-block}
.aucal-lg span{font-weight:700;color:#333;font-size:12px;background:#fff;border-radius:8px;padding:0 6px}
.aucal-lg.on{outline:3px solid var(--l);outline-offset:1px}

/* «Не решены» — сразу после фильтров, крупно */
.n2-openbar{padding:10px 12px}
.n2-open-btn{display:inline-block;margin:0 6px;font:inherit;font-size:14px;font-weight:700;padding:4px 12px;border-radius:16px;border:1.5px solid #c62828;background:#fff;color:#c62828;cursor:pointer;vertical-align:middle}
.n2-open-btn[aria-pressed="true"]{background:#c62828;color:#fff}

/* «Показатели мастеров»: сворачиваемые «Фильтры» и «Отправка в Telegram» */
.mp-fold-in{padding:0 16px}

/* «📁 База данных» */
.kb-q{min-width:240px;font-size:16px}
.kb-upbtn{cursor:pointer}
.kb-crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin-top:10px}
.kb-crumb{background:none;border:0;font:inherit;font-size:17px;font-weight:700;color:#1f4fa8;cursor:pointer;padding:2px 4px;border-radius:6px}
.kb-crumb:hover{background:#eef3fb}
.kb-sep{color:#888;font-size:17px}
.kb-fols{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px;margin-bottom:12px}
.kb-fol{border:1px solid #d5dce4;border-radius:12px;background:#fbfcfe;padding:6px;display:flex;flex-direction:column;gap:4px}
.kb-folbtn{display:flex;flex-direction:column;align-items:flex-start;gap:2px;background:none;border:0;font:inherit;text-align:left;cursor:pointer;padding:6px;border-radius:8px;color:#111}
.kb-folbtn:hover{background:#eef3fb}
.kb-ico{font-size:26px;line-height:1}
.kb-nm{font-size:17px;font-weight:700;word-break:break-word}
.kb-act{display:flex;gap:4px;flex-wrap:wrap;align-items:center}
.kb-files{display:flex;flex-direction:column;border-top:1px solid #e3e8ee}
.kb-file{display:grid;grid-template-columns:1fr auto auto;gap:6px 12px;align-items:center;padding:10px 4px;border-bottom:1px solid #e3e8ee}
.kb-fname{display:flex;align-items:center;gap:10px;color:#111;text-decoration:none;min-width:0}
.kb-fname:hover .kb-nm{text-decoration:underline}
.kb-fname .kb-nm{font-weight:600;font-size:16px}
.kb-move{grid-column:1/-1;display:flex;gap:6px;align-items:center}
.kb-fol .kb-move{flex-wrap:wrap}
.kb-move .sel{max-width:100%}
.kb-drop.kb-over{outline:3px dashed #2f6fd6;outline-offset:-6px;background:#f3f8ff}
.kb-ups{display:flex;flex-direction:column;gap:6px;margin-top:10px}
.kb-up{display:grid;grid-template-columns:minmax(0,1fr) 160px 90px;gap:10px;align-items:center;font-size:15px}
.kb-up span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kb-bar{height:10px;background:#e6eaef;border-radius:5px;overflow:hidden}.kb-bar i{display:block;height:100%;background:#2f6fd6}
@media (max-width:700px){.kb-file{grid-template-columns:1fr}.kb-meta{padding-left:36px}.kb-file .kb-act{padding-left:32px}.kb-q{min-width:0;width:100%}.kb-up{grid-template-columns:1fr 80px 60px}}
.kb-act a.btn{text-decoration:none}

/* «База данных»: плитки с миниатюрой — видно, что внутри файла */
.kb-vsw{display:flex;align-items:center;gap:8px;margin:4px 0 10px}
.kb-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.kb-card{border:1px solid #d5dce4;border-radius:12px;overflow:hidden;background:#fff;display:flex;flex-direction:column}
.kb-thumb{display:flex;align-items:center;justify-content:center;aspect-ratio:48/34;background:#f3f5f8;border-bottom:1px solid #e3e8ee;overflow:hidden}
.kb-thumb img{width:100%;height:100%;object-fit:contain;background:#fff;display:block}
.kb-thumb:hover img{filter:brightness(.96)}
.kb-bigico{font-size:64px;line-height:1}
.kb-cbody{padding:8px 10px 10px;display:flex;flex-direction:column;gap:6px}
.kb-cname{font-size:15px;font-weight:700;line-height:1.25;word-break:break-word;color:#111}
@media (max-width:700px){.kb-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.kb-cname{font-size:14px}.kb-cbody .btn{padding:4px 8px}}
@media (max-width:700px){.kb-card .kb-dl span{display:none}.kb-card .kb-act{gap:2px;flex-wrap:nowrap}.kb-card .kb-act .btn{padding:4px 7px}}

/* «Статистика» у директора города: без отправки в чаты Telegram */
.st-ro [data-stallsend],.st-ro [data-stcsend],.st-ro #upEach,.st-ro #upPrev,.st-ro #pfPrev,.st-ro #pfSend,.st-ro [data-pfchat],.st-ro #snPrev,.st-ro #snSend,
.st-ro [data-ofsend],.st-ro details[data-keep="of_chats"],.st-ro details[data-keep="dyn_chats"],.st-ro #dynSend,.st-ro #dynPrevBtn,.st-ro details[data-keep="sd_send"],
.st-ro [data-adssend],.st-ro [data-adssubs],.st-ro #adsSumMe,.st-ro #adsSendAll,.st-ro .ads-cfg,.st-ro [data-tplsave],.st-ro [data-tplreset],.st-ro .pf-sendbox{display:none!important}
.st-ro details[data-keep="sd_cfg"],.st-ro details[data-keep="ads_map"],.st-ro details[data-keep="ads_script"],.st-ro .ads-sendhint{display:none!important}

/* ===== Вкладки по группам: всё видно сразу (ПК), на телефоне — «☰ Разделы» ===== */
.tabs{overflow:visible;flex-wrap:wrap;align-items:flex-end;border-bottom:1px solid var(--line-strong);padding-bottom:0}
.tabgroups{display:flex;flex-wrap:wrap;gap:4px 18px;align-items:flex-end;width:100%}
.tabgrp{display:flex;flex-direction:column;gap:0}
.tabgrp-l{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#7a8794;padding:0 8px}
.tabgrp-b{display:flex;flex-wrap:wrap}
.tabgroups .tab{padding:7px 10px;color:#3b4652;font-size:15px}
.tabgroups .tab:hover{color:var(--ink);background:#f1f4f8;border-radius:8px 8px 0 0}
.tabgroups .tab[aria-selected="true"]{color:var(--ink);font-weight:700;border-bottom:3px solid var(--accent)}
.tab-ico{margin-right:5px}
.tabs-mob,.tabsheet{display:none}
@media (max-width:700px){
  .tabs{border-bottom:0;margin-bottom:12px}
  .tabgroups{display:none}
  .tabs-mob{display:flex;align-items:center;gap:10px;width:100%;font:inherit;font-size:17px;font-weight:700;color:var(--ink);background:#fff;border:1.5px solid var(--line-strong);border-radius:12px;padding:11px 14px;cursor:pointer}
  .tabs-mob-cur{flex:1;text-align:left}
  .tabs-mob-arr{color:#7a8794;font-size:13px}
  /* меню на телефоне — компактное, чтобы целиком влезало на экран: 3 плитки в ряд, низкие кнопки */
  .tabsheet{display:flex;flex-direction:column;gap:6px;width:100%;margin-top:6px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:8px;box-shadow:0 8px 24px rgba(0,0,0,.12)}
  .tabsheet .tabgrp-l{padding:0 2px 3px;font-size:10px}
  .tabsheet-b{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}
  .tabtile{display:flex;align-items:center;gap:4px;font:inherit;font-size:12.5px;line-height:1.15;font-weight:600;color:var(--ink);background:#f6f8fb;border:1px solid #dfe5ec;border-radius:8px;padding:5px 6px;text-align:left;cursor:pointer;min-height:34px;overflow:hidden;overflow-wrap:break-word;hyphens:auto}
  .tabtile[aria-selected="true"]{background:#fff3ea;border-color:var(--accent);color:var(--accent)}
  .tabtile .tab-ico{font-size:15px;margin:0;flex:none}
}
:root[data-theme="dark"] .tabs-mob,:root[data-theme="dark"] .tabsheet{background:var(--surface)}
:root[data-theme="dark"] .tabtile{background:var(--surface-2);border-color:var(--line)}
.pf-rank{font-size:12px;font-weight:700;color:#333;margin-top:2px;white-space:nowrap}
.sn-formula{font-size:15px;background:#f3f5f8;border:1px solid #dfe5ec;border-radius:8px;padding:5px 10px}
.ml-fact{font-size:16px;background:#f3f5f8;border:1px solid #dfe5ec;border-radius:6px;padding:3px 9px}
.n2c-st{margin-top:2px}.n2c-st.n2c-ok{color:#2e7d32;font-weight:600}

/* HR: новая таблица по группам граф */
.hrtab2 th.hr-grp{text-align:center;font-size:14px;font-weight:800;color:#111;border-bottom:1px solid #c9d1da}
.hrtab2 .hr-g0{background:#eef1f5}.hrtab2 .hr-g1{background:#e3eefc}.hrtab2 .hr-g2{background:#fdf0dc}.hrtab2 .hr-g3{background:#e2f4e6}.hrtab2 .hr-g4{background:#e8f4fb}
.hrtab2 th.hr-h{white-space:normal;min-width:84px;font-size:12.5px;color:#222}
.hrtab2 .hr-gfirst{border-left:2px solid #9aa6b2}
.hrtab2 td.n{font-size:15px}
.hr-src{min-width:110px;max-width:200px}
.hr-ok{color:#2e7d32;font-weight:700}.hr-badbal{color:#c62828}
.hr-balwarn{margin:8px 0 0;padding:8px 12px;border-radius:8px;background:#fdecea;color:#8a1c1c;font-weight:600}

/* «Новые мастера»: фильтры ровной сеткой «подпись | выбор», статистика по городам крупно */
.nm-fgrid{display:grid;grid-template-columns:max-content 1fr;gap:10px 16px;align-items:center;margin-top:10px}
.nm-fgrid>b{font-size:14px;white-space:nowrap}
.nm-frow{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
@media (max-width:640px){.nm-fgrid{grid-template-columns:1fr;gap:4px 0}.nm-fgrid>b{margin-top:10px}.nm-fgrid>span:empty{display:none}}
.nm-stat{font-size:16px}
.nm-stat th{font-size:13px;white-space:nowrap}
.nm-stat td.n{font-weight:700;text-align:center;font-variant-numeric:tabular-nums}
.nm-stat .nm-st-c{font-weight:600}
.nm-stat .nm-st-warn{color:#9a6400}
.nm-stat .nm-st-bad{color:var(--bad)}
.nm-stat .nm-st-tot td{border-top:2px solid var(--line-strong);background:var(--surface-2)}
.nm-frow label{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.nm-stat th.mp-th{cursor:pointer;text-align:center}
.nm-stat td.n{color:#111}
.nm-place{font-size:12px;font-weight:600;color:#333;margin-top:2px}

/* Показатели / Новые мастера на телефоне: фамилия закреплена слева и узкая, город — под фамилией (графа «Город» скрыта) */
.mp-cityin{display:none}
@media (max-width:640px){
  .mptab .mp-city{display:none}
  .mptab .mp-cityin{display:block}
  .mptab td.mp-name,.mptab th.of-city{min-width:92px;max-width:112px;white-space:normal;font-size:12.5px;line-height:1.25;padding:5px 6px;box-shadow:3px 0 5px -2px rgba(15,23,32,.18)}
  .mptab td.mp-name b{font-size:13px}
  .mptab td.mp-v{padding:5px 6px;font-size:13px}
  .mptab th.mp-th{font-size:11px;padding:5px 4px}
}
.rc-tab td.n{white-space:nowrap;font-variant-numeric:tabular-nums}
.rc-tab td.rc-diff{background:#fff3c4;font-weight:700}
.rc-tab tr.rc-tot td{background:#e9f0fb;font-weight:700}
.ads-tab tr.ads-avg td{background:#eef4fd;font-weight:700;color:#111}
.ads-tab tr.ads-avg td.ads-lbl{color:#1a3a6b}

/* «Посмотреть как»: заметная полоса сверху, пока владелец смотрит сайт глазами сотрудника */
.as-bar{position:sticky;top:0;z-index:1000;display:flex;flex-wrap:wrap;align-items:center;gap:10px;justify-content:center;
  background:#ffe08a;color:#111;font-size:15px;padding:8px 14px;border-bottom:2px solid #e0a800}
.as-bar .btn{background:#111;color:#fff;border-color:#111}
.chat-acts{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}
.chat-acts .btn{padding:2px 8px;font-size:12px}
tr.lg-removed td{opacity:.6}
.grid th.lg-sum,.grid td.lg-sum{min-width:62px;text-align:center;font-size:13px;background:#f3f6fb;border-left:2px solid #c9d3e0}
.grid td.lg-sum b{font-size:16px}

/* Подсказки-пояснения на страницах скрыты (место нужнее цифрам); в карточке мастера и окнах — остаются */
#view p.hint:not(.keep){display:none!important}
.st-fold>summary b{font-size:15px;font-weight:700}
.st-fold:not([open])>summary{margin:0}

.chat-mn{font-size:12px;color:var(--muted);text-align:left;white-space:nowrap;margin-top:2px;line-height:1.35}

/* «Из жалобы в отзыв» */
.cm-card{border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin:0 0 10px}
.cm-head{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline;margin-bottom:8px;font-size:15px}
.cm-two{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:start}
.cm-c{background:var(--bg2,rgba(127,127,127,.06));border-radius:8px;padding:8px 10px;min-width:0}
.cm-neg{background:rgba(220,60,60,.08)}
.cm-l{font-size:13px;color:var(--muted);margin-bottom:4px}
.cm-t{font-size:15px;white-space:pre-wrap;word-break:break-word;margin-top:2px}
.cm-arrow{align-self:center;font-weight:600;white-space:nowrap;color:var(--bad,#c33)}
.cm-rep{margin-top:6px;font-size:13px}.cm-rep div{margin:3px 0;white-space:pre-wrap;word-break:break-word}
.cm-none{margin-top:6px;font-size:13px;color:var(--bad,#c33)}
.cm-sum tr.sel td{background:rgba(127,127,127,.1)}.cm-tot td{border-top:2px solid var(--line)}
@media (max-width:700px){.cm-two{grid-template-columns:1fr}.cm-arrow{justify-self:start}}

.u-tabs{margin-top:6px;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.cmm-list{border-top:1px solid var(--line)}
.cmm-r{display:grid;grid-template-columns:26px 1fr auto 18px;gap:8px;align-items:center;padding:10px 4px;border-bottom:1px solid var(--line);cursor:pointer}
.cmm-r:hover,.cmm-r.on{background:rgba(127,127,127,.07)}.cmm-none .cmm-nm b{color:var(--muted)}
.cmm-pl{color:var(--muted);text-align:right}.cmm-nm b{font-size:16px}
.cmm-k{text-align:center;line-height:1.1}.cmm-k span{display:block;font-size:11px;color:var(--muted)}.cmm-n{font-size:18px}
.cmm-ar{color:var(--muted);font-size:12px}
.cmm-items{padding:4px 10px 8px 38px;background:rgba(127,127,127,.04);border-bottom:1px solid var(--line)}
.cmm-it{padding:6px 0;border-bottom:1px dashed var(--line);white-space:pre-wrap;word-break:break-word}.cmm-it:last-child{border-bottom:0}.cmm-it span{white-space:normal}
.cmm-ks{display:flex;gap:4px}.cmm-ks .cmm-k{width:66px}.cmm-sep{border-left:1px solid var(--line);padding-left:4px}
.cmm-tot{border-left:1px solid var(--line-strong);padding-left:4px}.cmm-tot .cmm-n{font-size:20px}
.cmm-h{font-weight:700;margin:8px 0 2px}
@media (max-width:700px){.cmm-r{grid-template-columns:20px 1fr 14px;gap:6px}.cmm-ks{grid-column:2/4;grid-row:2;justify-content:space-between}.cmm-ks .cmm-k{width:auto;flex:1}.cmm-items{padding-left:12px}}

/* ===== Задачи — современные карточки, по два города в ряд ===== */
.tk-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}
@media (max-width:1100px){.tk-grid{grid-template-columns:minmax(0,1fr)}}
.tk-box{background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:0 1px 2px rgba(15,23,42,.04),0 6px 20px rgba(15,23,42,.06);padding:14px 16px 16px;min-width:0}
.tk-box.dragging{opacity:.5}
.tk-box.tk-over{outline:2px dashed #2563EB;outline-offset:3px}
.tk-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;cursor:pointer;list-style:none;padding:2px 26px 10px 0;position:relative}
.tk-head::-webkit-details-marker{display:none}
.tk-head::after{content:"▾";position:absolute;right:2px;top:6px;color:#94A3B8;font-size:18px;transition:transform .15s}
.tk-box:not([open]) .tk-head::after{transform:rotate(-90deg)}
.tk-box:not([open]) .tk-head{padding-bottom:0}
.tk-city{font-size:21px;font-weight:700;letter-spacing:-.01em;color:var(--ink)}
.tk-pills{display:flex;gap:6px;flex-wrap:wrap}
.tk-pill{font-size:13px;font-weight:600;padding:3px 10px;border-radius:999px;background:rgba(100,116,139,.12);color:#475569}
.tk-pill.warn{background:rgba(234,88,12,.12);color:#C2410C}
.tk-pill.ok{background:rgba(22,163,74,.12);color:#15803D}
.tk-pill.bad{background:rgba(220,38,38,.12);color:#B91C1C}
.tk-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:12px;border:1px solid rgba(15,23,42,.08)}
.tk-tab{border-collapse:separate;border-spacing:0;table-layout:fixed;width:100%}
.tk-tab th{position:relative;text-align:left;font-size:12.5px;font-weight:600;color:var(--muted);text-transform:none;background:rgba(100,116,139,.06);padding:9px 10px;border-bottom:1px solid rgba(15,23,42,.08);white-space:normal;vertical-align:bottom;user-select:none;line-height:1.25}
.tk-tab th[draggable="true"]{cursor:grab}
.tk-tab th.tk-over{background:rgba(37,99,235,.12)}
.tk-tab th.dragging{opacity:.5}
.tk-rs{position:absolute;top:0;right:-4px;width:9px;height:100%;cursor:col-resize;z-index:2;touch-action:none}
.tk-rs:hover,.tk-rs:active{background:rgba(37,99,235,.3)}
@media (max-width:760px){.tk-rs{width:18px;right:-8px}}
.tk-c{padding:6px 6px;border-bottom:1px solid rgba(15,23,42,.06);vertical-align:top}
.tk-r:last-child .tk-c{border-bottom:0}
.tk-r:hover .tk-c{background:rgba(37,99,235,.03)}
.tk-r.tk-done .tk-c{background:rgba(22,163,74,.06)}
.tk-r.tk-over .tk-c{box-shadow:inset 0 2px 0 #2563EB}
.tk-r.dragging{opacity:.45}
.tk-gc{text-align:center;vertical-align:middle;padding:6px 2px}
.tk-grip{cursor:grab;color:#94A3B8;font-size:18px;line-height:1;padding:4px 3px;border-radius:6px;user-select:none;touch-action:none;display:inline-block}
.tk-grip:hover{background:rgba(100,116,139,.12);color:#475569}
.tk-in{width:100%;box-sizing:border-box;border:1px solid transparent;background:transparent;border-radius:8px;padding:7px 8px;font:inherit;font-size:15px;line-height:1.4;color:inherit;transition:border-color .12s,background .12s}
.tk-in:hover{background:rgba(100,116,139,.06)}
.tk-in:focus{outline:none;border-color:#2563EB;background:var(--surface);box-shadow:0 0 0 3px rgba(37,99,235,.15)}
.tk-ta{resize:none;overflow:hidden;min-height:38px;display:block}
.tk-dl{position:relative;display:block;padding:8px 6px;border-radius:8px;cursor:pointer;font-size:15px;white-space:nowrap;font-variant-numeric:tabular-nums}
.tk-dl:hover{background:rgba(100,116,139,.08)}
.tk-dp{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;border:0;padding:0;margin:0}
.tk-dl:focus-within{box-shadow:0 0 0 3px rgba(37,99,235,.2)}
.tk-late .tk-dl{color:#B91C1C;font-weight:700}
.tk-st{width:100%;border:0;border-radius:999px;padding:7px 8px;font:inherit;font-size:14px;font-weight:600;cursor:pointer;background:rgba(220,38,38,.1);color:#B91C1C}
.tk-st.on{background:rgba(22,163,74,.14);color:#15803D}
.tk-del{border:0;background:transparent;color:#94A3B8;font-size:15px;border-radius:8px;width:28px;height:28px;cursor:pointer}
.tk-del:hover{background:rgba(220,38,38,.1);color:#B91C1C}
.tk-empty{padding:16px;color:#94A3B8;text-align:center}
.tk-add{margin-top:10px;border:1px dashed rgba(37,99,235,.45);background:rgba(37,99,235,.04);color:#1D4ED8;font:inherit;font-weight:600;font-size:15px;border-radius:10px;padding:9px 14px;width:100%;cursor:pointer}
.tk-add:hover{background:rgba(37,99,235,.1)}
.tk-txt{white-space:pre-wrap;word-break:break-word;cursor:default}
.tk-txt:hover,.tk-ro:hover{background:transparent}
.tk-ro{cursor:default}

/* ===== Дни рождения ===== */
.bd-wrap{max-width:1100px}
.bd-top{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.bd-h{margin:0 0 4px;font-size:22px}
.bd-soonrow{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-bottom:16px}
.bd-soon{background:var(--surface);border:1px solid var(--line);border-left:5px solid #F59E0B;border-radius:14px;padding:12px 14px;box-shadow:0 4px 14px rgba(15,23,42,.06)}
.bd-soon.tmr{border-left-color:#E11D48;background:rgba(225,29,72,.05)}
.bd-soon.today{border-left-color:#16A34A;background:rgba(22,163,74,.07)}
.bd-soon-d{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:#B45309}
.bd-soon.tmr .bd-soon-d{color:#BE123C}.bd-soon.today .bd-soon-d{color:#15803D}
.bd-soon-n{font-size:19px;font-weight:700;margin:4px 0 2px}
.bd-soon-c{font-size:14px;color:var(--muted)}
.bd-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:0 6px 20px rgba(15,23,42,.06);padding:6px}
.bd-tab{width:100%;border-collapse:separate;border-spacing:0;font-size:16px}
.bd-tab th{text-align:left;font-size:13px;color:var(--muted);font-weight:600;padding:10px 12px;border-bottom:1px solid var(--line);cursor:pointer;user-select:none;white-space:nowrap}
.bd-tab th.on{color:var(--ink)}
.bd-tab td{padding:11px 12px;border-bottom:1px solid var(--line)}
.bd-tab tr:last-child td{border-bottom:0}
.bd-tab tr.bd-near td{background:rgba(245,158,11,.07)}
.bd-days{white-space:nowrap;color:var(--muted)}
.ver-bar{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:9999;display:flex;align-items:center;gap:12px;background:#1E293B;color:#fff;padding:10px 12px 10px 18px;border-radius:14px;box-shadow:0 10px 30px rgba(15,23,42,.35);font-size:15px;max-width:calc(100vw - 32px)}
.ver-bar span{line-height:1.3}

/* ===== Проблематики ===== */
.pr-wrap{--ok:#16A34A;--ok-s:rgba(22,163,74,.12);--bad:#DC2626;--bad-s:rgba(220,38,38,.10);--warn:#D97706;--warn-s:rgba(245,158,11,.16);--na:#94A3B8;--na-s:rgba(100,116,139,.10);max-width:1400px}
.pr-cities{display:flex;gap:6px;overflow-x:auto;padding:4px;margin-bottom:14px;background:var(--surface);border:1px solid var(--line);border-radius:14px;scrollbar-width:none}
.pr-cities::-webkit-scrollbar{display:none}
.pr-cbtn{flex:none;border:0;background:transparent;border-radius:10px;padding:9px 14px;font-size:14.5px;font-weight:500;color:var(--muted);cursor:pointer;transition:background .15s,color .15s}
.pr-cbtn:hover{background:var(--surface-2);color:var(--ink)}
.pr-cbtn[aria-pressed="true"]{background:var(--ink);color:var(--bg);box-shadow:0 2px 8px rgba(15,23,42,.18)}
.pr-hero{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:16px 20px;margin-bottom:14px;box-shadow:0 8px 28px rgba(15,23,42,.06)}
.pr-hero-l{display:flex;align-items:center;gap:16px;min-width:0}
.pr-hero-city{font-size:26px;font-weight:700;letter-spacing:-.02em;line-height:1.1}
.pr-hero-r{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.pr-ring{--p:0;width:78px;height:78px;border-radius:50%;flex:none;display:grid;place-items:center;background:conic-gradient(var(--ok) calc(var(--p)*1%),var(--bad-s) 0)}
.pr-ring>div{width:62px;height:62px;border-radius:50%;background:var(--surface);display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.05}
.pr-ring b{font-size:19px}.pr-ring span{font-size:10.5px;color:var(--muted)}
.pr-sw{display:inline-flex;align-items:center;gap:8px;font-size:14px;cursor:pointer;user-select:none}
.pr-sw input{position:absolute;opacity:0;pointer-events:none}
.pr-sw span{width:40px;height:24px;border-radius:99px;background:var(--line-strong);position:relative;transition:background .2s}
.pr-sw span::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .2s}
.pr-sw input:checked+span{background:var(--ok)}.pr-sw input:checked+span::after{transform:translateX(16px)}
.pr-sw input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}
.pr-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:10px;margin-bottom:16px}
.pr-tile{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;border:1px solid var(--line);border-top:4px solid var(--na);background:var(--surface);border-radius:14px;padding:10px 12px;cursor:pointer;transition:transform .15s,box-shadow .15s}
.pr-tile:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(15,23,42,.10)}
.pr-tile-i{font-size:18px}.pr-tile-t{font-size:12.5px;color:var(--muted)}.pr-tile b{font-size:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.pr-tile.ok{border-top-color:var(--ok)}.pr-tile.ok b{color:var(--ok)}
.pr-tile.bad{border-top-color:var(--bad)}.pr-tile.bad b{color:var(--bad)}
.pr-tile.warn{border-top-color:var(--warn)}.pr-tile.warn b{color:var(--warn)}
.pr-tile.info{border-top-color:#3B82F6}
.pr-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
@media (max-width:1000px){.pr-grid{grid-template-columns:minmax(0,1fr)}}
.pr-card{background:var(--surface);border:1px solid var(--line);border-radius:20px;box-shadow:0 6px 22px rgba(15,23,42,.05);padding:16px 18px;min-width:0;scroll-margin-top:70px;position:relative;overflow:hidden}
.pr-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--na)}
.pr-card.st-ok::before{background:var(--ok)}.pr-card.st-bad::before{background:var(--bad)}.pr-card.st-warn::before{background:var(--warn)}.pr-card.st-info::before{background:#3B82F6}
.pr-card.pr-wide{grid-column:1/-1}
.pr-flash{animation:prFlash 1.2s ease}
@keyframes prFlash{0%,40%{box-shadow:0 0 0 4px rgba(59,130,246,.35)}100%{box-shadow:0 6px 22px rgba(15,23,42,.05)}}
.pr-ch{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.pr-ico{width:36px;height:36px;border-radius:11px;background:var(--surface-2);display:grid;place-items:center;font-size:18px;flex:none}
.pr-ct{font-size:17px;font-weight:650;display:flex;flex-direction:column;line-height:1.2;margin-right:auto}
.pr-ct small{font-size:12px;font-weight:400;color:var(--muted)}
.pr-badge{font-size:12px;font-weight:600;padding:4px 10px;border-radius:99px;background:var(--na-s);color:var(--muted);white-space:nowrap}
.pr-badge.ok{background:var(--ok-s);color:var(--ok)}.pr-badge.bad{background:var(--bad-s);color:var(--bad)}.pr-badge.warn{background:var(--warn-s);color:var(--warn)}
.pr-seg{display:inline-flex;background:var(--surface-2);border:1px solid var(--line);border-radius:11px;padding:3px;gap:2px}
.pr-seg button{border:0;background:transparent;border-radius:8px;padding:6px 11px;font-size:13px;color:var(--muted);cursor:pointer;white-space:nowrap}
.pr-seg button[aria-pressed="true"]{background:var(--surface);color:var(--ink);font-weight:600;box-shadow:0 1px 4px rgba(15,23,42,.12)}
.pr-rows{display:flex;flex-direction:column;gap:6px}
.pr-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;background:var(--na-s)}
.pr-row .pr-dot{width:9px;height:9px;border-radius:50%;background:var(--na);flex:none}
.pr-row .pr-l{flex:1;font-size:14.5px}
.pr-row .pr-v{font-size:15.5px;white-space:nowrap;text-align:right}
.pr-sub{font-size:12px;color:var(--muted);margin-top:2px}
.pr-row.ok{background:var(--ok-s)}.pr-row.ok .pr-dot{background:var(--ok)}
.pr-row.bad{background:var(--bad-s)}.pr-row.bad .pr-dot{background:var(--bad);box-shadow:0 0 0 3px rgba(220,38,38,.18)}
.pr-row.warn{background:var(--warn-s)}.pr-row.warn .pr-dot{background:var(--warn)}
.ok-t{color:var(--ok);font-weight:600}
.pr-big{font-size:34px;font-weight:750;letter-spacing:-.02em;line-height:1.1}
.pr-big small{font-size:14px;font-weight:400;color:var(--muted)}
.pr-avg{display:grid;grid-template-columns:auto 1fr;gap:10px 24px;align-items:center;padding:14px 16px;border-radius:16px;background:var(--na-s)}
.pr-avg.ok{background:var(--ok-s)}.pr-avg.bad{background:var(--bad-s)}.pr-avg.warn{background:var(--warn-s)}
.pr-avg.ok .pr-big{color:var(--ok)}.pr-avg.bad .pr-big{color:var(--bad)}.pr-avg.warn .pr-big{color:var(--warn)}
@media (max-width:640px){.pr-avg{grid-template-columns:1fr}}
.pr-bar{position:relative;height:10px;border-radius:99px;background:var(--line);margin:22px 0 20px}
.pr-bar>i{position:absolute;left:0;top:0;bottom:0;border-radius:99px;background:linear-gradient(90deg,#60A5FA,#3B82F6)}
.ok .pr-bar>i,.pr-zp~div .pr-bar>i{background:linear-gradient(90deg,#4ADE80,var(--ok))}.bad .pr-bar>i{background:linear-gradient(90deg,#F87171,var(--bad))}.warn .pr-bar>i{background:linear-gradient(90deg,#FBBF24,var(--warn))}
.pr-bar>b{position:absolute;top:-4px;bottom:-4px;width:2px;background:var(--ink);opacity:.55}
.pr-bar>b:nth-of-type(2) span{bottom:auto;top:100%;padding:2px 0 0}
.pr-bar>b span{position:absolute;bottom:100%;left:50%;transform:translateX(-50%);font-size:11px;font-weight:500;color:var(--muted);white-space:nowrap;padding-bottom:2px}
.pr-dirs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:14px}
@media (max-width:1200px){.pr-dirs{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.pr-dirs{grid-template-columns:minmax(0,1fr)}}
.pr-dir{border:1px solid var(--line);border-radius:16px;padding:12px 14px;background:var(--surface)}
.pr-dir.bad{border-color:rgba(220,38,38,.35)}.pr-dir.ok{border-color:rgba(22,163,74,.35)}
.pr-dir-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.pr-dir-n{font-weight:700;font-size:15px;background:var(--surface-2);border-radius:8px;padding:3px 9px}
.pr-dir-big{font-size:26px;font-weight:700;margin:8px 0 4px}.pr-dir-big small{font-size:12.5px;font-weight:400;color:var(--muted)}
.pr-dir-meta{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:13px;color:var(--muted)}.pr-dir-meta b{color:var(--ink);font-weight:600}
.pr-low{margin-top:10px;display:flex;flex-direction:column;gap:4px;border-top:1px dashed var(--line);padding-top:8px}
.pr-low>div{display:flex;justify-content:space-between;gap:8px;font-size:13px;padding:5px 8px;border-radius:8px;background:var(--bad-s)}
.pr-low>div b{color:var(--bad)}
.pr-chip{display:inline-block;font-size:12.5px;padding:3px 9px;border-radius:999px;background:var(--na-s)}
.pr-chip.bad{background:var(--bad-s);color:var(--bad)}
.pr-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.pr-list{display:flex;flex-direction:column;gap:2px;margin-top:10px;font-size:14px}
.pr-list>div{display:flex;justify-content:space-between;gap:10px;padding:7px 12px;border-radius:10px}
.pr-list>div:nth-child(odd){background:var(--surface-2)}
.pr-pos{padding:14px 16px;border-radius:16px;background:var(--na-s)}
.pr-pos.ok{background:var(--ok-s)}.pr-pos.bad{background:var(--bad-s)}
.pr-pos.ok .pr-big{color:var(--ok)}.pr-pos.bad .pr-big{color:var(--bad)}
.pr-tab{width:100%;border-collapse:separate;border-spacing:0;font-size:14.5px}
.pr-tab th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);font-weight:600;padding:8px 12px;border-bottom:1px solid var(--line);white-space:nowrap;background:var(--surface-2)}
.pr-tab th:first-child{border-top-left-radius:10px}.pr-tab th:last-child{border-top-right-radius:10px}
.pr-tab td{padding:9px 12px;border-bottom:1px solid var(--line)}
.pr-tab tbody tr:hover td{background:var(--surface-2)}
.pr-tr-base td{border-bottom:0;color:var(--muted)}
.pr-adj{display:inline-block;min-width:54px;text-align:center;font-weight:700;font-size:13.5px;padding:3px 8px;border-radius:8px;background:var(--na-s)}
.pr-adj.ok{background:var(--ok-s);color:var(--ok)}.pr-adj.bad{background:var(--bad-s);color:var(--bad)}
.pr-kpi-top{display:grid;grid-template-columns:1.2fr 1fr 1.2fr 1fr;gap:12px;margin-bottom:14px}
@media (max-width:860px){.pr-kpi-top{grid-template-columns:repeat(2,minmax(0,1fr))}}
.pr-kpi-top>div{background:var(--surface-2);border-radius:16px;padding:12px 14px}
.pr-kpi-top b{font-size:22px}
.pr-kpi-top>.pr-zp{background:linear-gradient(135deg,#16A34A,#0D9488);color:#fff}
.pr-zp b{font-size:28px}.pr-zp .small{opacity:.9}
.pr-neg{width:90px;min-height:32px;padding:4px 8px}
.pr-cfg{margin-top:14px;border:1px solid var(--line);border-radius:14px;padding:10px 14px}
.pr-cfg summary{cursor:pointer}
.pr-cfg-g{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin:10px 0}
.pr-cfg-g>b{min-width:180px}
.pr-f{display:flex;flex-direction:column;font-size:12.5px;color:var(--muted);gap:3px}
.pr-f .inp{width:96px}
.pr-hid{text-align:center;margin-top:12px}
.pr-allok{text-align:center;font-size:18px;padding:30px}
.pr-sk{border-radius:18px;background:linear-gradient(90deg,var(--surface) 25%,var(--surface-2) 50%,var(--surface) 75%);background-size:200% 100%;animation:prSk 1.3s infinite linear;border:1px solid var(--line)}
@keyframes prSk{to{background-position:-200% 0}}
.pr-sk-hero{height:110px;margin-bottom:14px}.pr-sk-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-bottom:16px}
.pr-sk-t{height:74px;border-radius:14px}.pr-sk-c{height:220px}
@media (max-width:640px){
  .pr-hero{padding:14px;border-radius:16px}.pr-hero-city{font-size:21px}.pr-ring{width:64px;height:64px}.pr-ring>div{width:50px;height:50px}.pr-ring b{font-size:16px}
  .pr-hero-r{width:100%;justify-content:space-between}
  .pr-tiles{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.pr-tile{padding:7px 8px;border-radius:12px}.pr-tile-i{font-size:15px}.pr-tile-t{font-size:11px;line-height:1.2}.pr-tile b{font-size:14px}
  .pr-card{padding:14px;border-radius:16px}.pr-big{font-size:28px}
  .pr-seg{width:100%}.pr-seg button{flex:1;padding:7px 4px}
}
@media (prefers-reduced-motion:reduce){.pr-sk,.pr-flash{animation:none}.pr-tile{transition:none}}
/* Проблематики — пакет правок 08.10 */
.pr-stack{display:flex;flex-direction:column;gap:16px;min-width:0}
.pr-card.st-off::before{background:var(--na)}
.pr-dir.off{opacity:.62;border-style:dashed;background:var(--surface-2)}
.pr-badge.off{background:var(--na-s);color:var(--muted)}
.pr-ads{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:8px;padding:6px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2)}
.pr-ad{display:flex;flex-direction:column;gap:3px;min-width:0}
.pr-ad>span{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;padding-left:2px}
.pr-ad>b{font-size:13px;font-weight:600;padding:4px 8px;border-radius:8px;background:var(--na-s);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pr-ad>b.has{background:color-mix(in srgb,var(--adc) 45%,var(--surface));border:1px solid color-mix(in srgb,var(--adc) 70%,transparent)}
.pr-ad.off>b{background:var(--bad-s);color:var(--bad)}
.pr-sched{display:flex;flex-direction:column;gap:5px}
.pr-sch{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;background:var(--na-s);font-size:14px}
.pr-sch .pr-wd{font-weight:700;font-size:12.5px;text-align:center;border-radius:7px;padding:3px 0;background:var(--surface)}
.pr-sch .pr-sch-v{font-weight:600;white-space:nowrap}
.pr-sch.ok{background:var(--ok-s)}.pr-sch.ok .pr-sch-v{color:var(--ok)}
.pr-sch.bad{background:var(--bad-s)}.pr-sch.bad .pr-sch-v{color:var(--bad)}
.pr-sch.warn{background:var(--warn-s)}.pr-sch.warn .pr-sch-v{color:var(--warn)}
.pr-sch.wait{opacity:.6}.pr-sch.wait .pr-sch-v{color:var(--muted);font-weight:400}
.pr-nm{width:auto;font-size:13.5px}
.pr-nm th{cursor:pointer;user-select:none;padding:6px 10px}.pr-nm th:hover{color:var(--ink)}
.pr-nm td{padding:5px 10px}
.pr-nm .num{text-align:right;white-space:nowrap}
.pr-nm-n{white-space:nowrap}.pr-nm-c{display:block;font-size:11px;color:var(--muted)}
.pr-fired td{opacity:.5}
.pr-avgc{display:inline-block;min-width:56px;text-align:center;font-weight:700;padding:2px 8px;border-radius:7px}
.pr-avgc.ok{background:var(--ok-s);color:var(--ok)}.pr-avgc.warn{background:var(--warn-s);color:var(--warn)}.pr-avgc.bad{background:var(--bad-s);color:var(--bad)}
.pr-legend{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.pr-legend .pr-avgc{font-size:11.5px;font-weight:600;min-width:0}
.pr-pos-top{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;align-items:flex-start}
.pr-pos-k{display:flex;gap:8px}
.pr-pos-k>div{background:var(--surface);border-radius:12px;padding:6px 10px;display:flex;flex-direction:column;align-items:center;min-width:70px}
.pr-pos-k span{font-size:11px;color:var(--muted)}.pr-pos-k b{font-size:18px}
.pr-days{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;height:86px;margin-top:4px}
.pr-days>div{position:relative;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:2px}
.pr-days i{display:block;width:70%;max-width:34px;border-radius:6px 6px 3px 3px;background:var(--na)}
.pr-days .ok i{background:var(--ok)}.pr-days .bad i{background:#F87171}
.pr-days b{font-size:12.5px;order:-1}.pr-days span{font-size:11px;color:var(--muted)}
.pr-days .fut span{opacity:.5}.pr-days .now i{background:#93C5FD}.pr-days .now span{font-weight:700;color:var(--ink)}
.pr-nm{width:100%}
.pr-plan{display:inline-flex;align-items:center;gap:8px;margin-top:10px;font-size:13.5px;color:var(--muted)}
.pr-plan .inp{width:80px}
.pr-cfg input:disabled{background:var(--surface-2);color:var(--ink);opacity:1;border-style:dashed}

/* 08.10 вечер: средний направлений цветом, столбики из CRM, загрузка отчёта */
.pr-dir.ok{border:2px solid var(--ok);background:var(--ok-s)}.pr-dir.ok .pr-dir-big{color:var(--ok)}
.pr-dir.warn{border:2px solid var(--warn);background:var(--warn-s)}.pr-dir.warn .pr-dir-big{color:var(--warn)}
.pr-dir.bad{border:2px solid var(--bad);background:var(--bad-s)}.pr-dir.bad .pr-dir-big{color:var(--bad)}
.pr-low>div.warn{background:var(--warn-s)}.pr-low>div.warn b{color:var(--warn)}
.pr-low>div.ok{background:var(--ok-s)}.pr-low>div.ok b{color:var(--ok)}
.pr-days .crm i{opacity:.45}
.pr-up{margin-top:8px;cursor:pointer;display:inline-flex}

/* найм, KPI по цвету, уволенные */
.pr-fun{display:flex;flex-direction:column;gap:5px}
.pr-fun>div{display:grid;grid-template-columns:minmax(120px,1.3fr) 1fr 44px 54px;align-items:center;gap:8px;font-size:13.5px}
.pr-fun-l{color:var(--muted)}
.pr-fun-b{height:10px;border-radius:99px;background:var(--surface-2);overflow:hidden}
.pr-fun-b i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#93C5FD,#3B82F6)}
.pr-fun b{text-align:right}.pr-fun small{color:var(--muted);font-size:12px;white-space:nowrap}
.pr-fun>div:last-child .pr-fun-b i{background:linear-gradient(90deg,#4ADE80,var(--ok))}.pr-fun>div:last-child b{color:var(--ok)}
.pr-fun-f{margin-top:8px}
@media (max-width:480px){.pr-fun>div{grid-template-columns:1fr 64px 36px 48px}.pr-fun-l{font-size:12.5px}}
.pr-kf{display:inline-block;min-width:64px;text-align:center;font-weight:700;padding:3px 10px;border-radius:8px;border:1.5px solid transparent}
.pr-kf-ok{border-color:var(--ok);background:var(--ok-s);color:var(--ok)}
.pr-kf-warn{border-color:var(--warn);background:var(--warn-s);color:var(--warn)}
.pr-kf-bad{border-color:var(--bad);background:var(--bad-s);color:var(--bad)}
input.pr-kf-ok,input.pr-kf-warn,input.pr-kf-bad{border-width:1.5px;font-weight:700}
.pr-kl-ok td:first-child{box-shadow:inset 3px 0 0 var(--ok)}.pr-kl-warn td:first-child{box-shadow:inset 3px 0 0 var(--warn)}.pr-kl-bad td:first-child{box-shadow:inset 3px 0 0 var(--bad)}
.pr-fired-n{display:inline-block;border:1px solid var(--bad);border-radius:6px;padding:0 6px;color:var(--muted)}
.pr-fired-n small{color:var(--bad);font-size:11px}
.pr-fired td{opacity:1}.pr-fired td:not(:first-child){opacity:.55}
.pr-spin{display:inline-block;animation:prSpin 1s linear infinite}
@keyframes prSpin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.pr-spin{animation:none}}

/* 08.10: офер — цвет только у цифры среднего; оба офера выкл — светло-красная карточка */
.pr-dir.ok,.pr-dir.warn,.pr-dir.bad{border:1px solid var(--line);background:var(--surface)}
.pr-dir.ok .pr-dir-big,.pr-dir.warn .pr-dir-big,.pr-dir.bad .pr-dir-big{color:inherit}
.pr-dir-big .pr-avgc{font-size:22px;padding:2px 10px;border-radius:10px;border:1.5px solid transparent;min-width:0}
.pr-dir-big .pr-avgc.ok{border-color:var(--ok)}.pr-dir-big .pr-avgc.warn{border-color:var(--warn)}.pr-dir-big .pr-avgc.bad{border-color:var(--bad)}
.pr-dir.off{opacity:1;border:1px solid rgba(220,38,38,.25);border-style:solid;background:rgba(220,38,38,.06)}
.pr-dir.off .pr-dir-big{color:var(--muted)}
.pr-low>div,.pr-low>div.warn,.pr-low>div.ok,.pr-low>div.bad{background:var(--surface-2)}
.pr-nm .pr-pc{display:inline-block;min-width:34px;margin-left:5px;font-size:11.5px;color:var(--muted);text-align:right}
.pr-low>div.pr-lw-bad b{color:var(--bad)}.pr-low>div.pr-lw-warn b{color:var(--warn)}.pr-low>div.pr-lw-ok b{color:var(--ok)}
/* KPI по неделям */
.pr-wk{display:inline-flex;align-items:center;gap:6px;background:var(--surface-2);border:1px solid var(--line);border-radius:11px;padding:3px}
.pr-wk span{font-size:13.5px;font-weight:600;padding:0 6px;white-space:nowrap}
.pr-wk .btn{min-height:30px;padding:2px 10px}
.pr-kw-note{margin-bottom:10px}
.pr-kw-st{display:inline-block;font-weight:600;font-size:14px;padding:6px 12px;border-radius:10px;margin-bottom:12px}
.pr-kw-st.ok{background:var(--ok-s);color:var(--ok)}.pr-kw-st.warn{background:var(--warn-s);color:var(--warn)}
.pr-kw-empty{text-align:center;padding:26px 10px;color:var(--muted);line-height:1.8}
.pr-kw-kas{display:flex;gap:12px;flex-wrap:wrap;margin:-4px 0 12px}
.pr-kwi{width:110px;min-height:32px;padding:4px 8px;font-weight:600}
.pr-kwe{border-color:#3B82F6;background:rgba(59,130,246,.08)}
.pr-kw-btn{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px;align-items:center}
.pr-kw-log{margin-top:10px}.pr-kw-log>div{padding:2px 0}
.pr-low-h{margin:0 0 2px;font-size:12.5px;font-weight:600;color:var(--muted)}
/* 👥 HR — окошки городов */
.hm-top{margin-bottom:14px}.hm-top .small{max-width:900px}
.hm-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
@media (max-width:1000px){.hm-grid{grid-template-columns:minmax(0,1fr)}}
.hm-card{background:var(--surface);border:1px solid var(--line);border-radius:20px;box-shadow:0 6px 22px rgba(15,23,42,.05);padding:16px 18px;min-width:0}
.hm-h h3{margin:0 0 10px;font-size:19px}
.hm-train{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-weight:600;margin-bottom:12px}
.hm-sum{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:12px}
@media (max-width:560px){.hm-sum{grid-template-columns:repeat(2,minmax(0,1fr))}}
.hm-sum>div{background:var(--surface-2);border-radius:14px;padding:10px 12px;display:flex;flex-direction:column;gap:2px}
.hm-sum span{font-size:12px;color:var(--muted);line-height:1.25}.hm-sum b{font-size:24px}.hm-sum small{font-size:12px;color:var(--muted)}
.hm-sum .hm-sig{background:var(--ok-s)}.hm-sum .hm-sig b{color:var(--ok)}
.hm-in{border:1px solid var(--line);border-radius:14px;padding:10px 12px;margin-bottom:10px}
.hm-in-h{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:8px}
.hm-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:10px}
@media (max-width:560px){.hm-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}
.hm-fields .inp{width:100%}
.hm-xd{border-top:1px dashed var(--line);padding-top:10px;margin-top:6px}
.hm-xd-h{font-weight:600;margin-bottom:6px}
.hm-xd-in{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end;margin-bottom:6px}
.hm-xd-in .pr-f .inp{width:150px}
.hm-det{margin:6px 0}.hm-tab{font-size:13.5px}.hm-tab td,.hm-tab th{padding:5px 10px}
.hm-grid{--ok:#16A34A;--ok-s:rgba(22,163,74,.12)}
.hm-train .inp,.hm-in-h .inp{width:auto;max-width:190px;flex:none}
.hm-fields{align-items:end}
.pr-hm-tr{display:inline-flex;align-items:center;gap:6px;font-size:14px;color:var(--ink);background:rgba(59,130,246,.08);border:1px solid rgba(59,130,246,.35);border-radius:10px;padding:5px 12px;margin-bottom:10px}
.pr-hm-tr b{font-size:15px;color:#2563EB}
.hm-of{min-height:34px;padding:4px 8px;font-weight:600;width:auto}
/* HR: общая картина и простой */
.hm-tlw{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:12px 16px;margin-bottom:16px}
.hm-tlw summary{cursor:pointer}
.hm-tl{border-collapse:separate;border-spacing:3px;font-size:13px;margin-top:10px}
.hm-tl th{font-size:11.5px;color:var(--muted);font-weight:600;padding:2px 4px;white-space:nowrap}
.hm-tl td{text-align:center;border-radius:7px;padding:4px 6px;min-width:46px;white-space:nowrap}
.hm-tl .tl-city{text-align:left;font-weight:600;padding-right:10px}
.hm-tl .tl-now{text-align:left;min-width:220px;padding-left:10px}
.tl-on{background:rgba(22,163,74,.14);color:#15803D}.tl-on b{font-size:12px}.tl-on small{display:block;font-size:11px;opacity:.85}
.tl-part{box-shadow:inset 0 -3px 0 rgba(220,38,38,.45)}
.tl-off{background:repeating-linear-gradient(135deg,rgba(220,38,38,.14) 0 6px,rgba(220,38,38,.06) 6px 12px);color:#B91C1C;font-size:11.5px;font-weight:600}
.tl-gap{background:rgba(245,158,11,.14);color:#B45309}
.tl-none{background:var(--surface-2)}
.tl-st{font-weight:600;font-size:13px}.tl-st.on{color:#15803D}.tl-st.off{color:#B91C1C}
.hm-tl-lg{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;margin-top:8px;color:var(--muted)}
.hm-tl-lg span{display:inline-block;padding:2px 8px;border-radius:6px;font-size:11.5px}
.hm-sw{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:10px;padding-top:10px;border-top:1px dashed var(--line)}
.hm-sw .inp{width:auto;max-width:170px}
.hm-offc{background:repeating-linear-gradient(135deg,rgba(220,38,38,.03) 0 10px,transparent 10px 20px),var(--surface)}
.hm-offb{font-size:16px;color:#B91C1C;background:rgba(220,38,38,.08);border:1px solid rgba(220,38,38,.25);border-radius:12px;padding:10px 14px}
.pr-hm-off{font-size:14px;color:#B91C1C;background:rgba(220,38,38,.07);border:1px solid rgba(220,38,38,.25);border-radius:10px;padding:8px 12px}
/* HR: наборы и статистика */
.hm-subt{margin:8px 0 6px}
.hm-gs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}
.hm-g{border:1px solid var(--line-strong);background:var(--surface);border-radius:10px;padding:6px 12px;font-weight:600;font-size:14px;cursor:pointer;display:inline-flex;align-items:baseline;gap:6px}
.hm-g small{font-weight:400;color:var(--muted);font-size:11.5px}
.hm-g[aria-pressed="true"]{background:rgba(59,130,246,.10);border-color:#3B82F6;color:#1D4ED8}
.hm-gadd{border-style:dashed;color:var(--muted)}
.hm-addg{display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:var(--surface-2);border-radius:12px;padding:8px 10px;margin-bottom:10px}
.hm-addg .inp{width:auto;max-width:170px}
.hm-cur{display:flex}.hm-close{border:0;background:transparent;color:var(--muted);cursor:pointer;font-size:14px;padding:0 0 0 8px}
.hm-st-per{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap;margin:6px 0 14px}.hm-st-per .inp{width:auto}
.hm-st{margin-bottom:16px}
.hm-stt td,.hm-stt th{text-align:right;white-space:nowrap}.hm-stt td:first-child,.hm-stt th:first-child{text-align:left}
.hm-stt small{display:inline-block;min-width:36px;margin-left:4px;color:var(--muted);font-size:11.5px}
.hm-tot td{font-weight:700;background:var(--surface-2)}
.pr-hm-gs{display:flex;flex-direction:column;gap:10px}
.pr-hm-g .pr-hm-tr{margin-bottom:4px}
.pr-hm-n{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:13.5px;color:var(--muted)}.pr-hm-n b{color:var(--ink)}.pr-hm-n .ok-t b{color:var(--ok)}
.pr-sd2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:16px;align-items:start}
@media (max-width:760px){.pr-sd2{grid-template-columns:minmax(0,1fr)}}
.pr-dyn{font-size:13px;font-weight:600;margin:-2px 0 6px}.pr-dyn span{font-weight:400;color:var(--muted)}
.pr-dyn.up{color:#15803D}.pr-dyn.down{color:#B91C1C}
.pr-nav{font-size:12.5px}
.pr-go{border:0;background:none;color:#2563EB;font-size:12.5px;cursor:pointer;padding:0 0 0 6px}.pr-go:hover{text-decoration:underline}
.pr-dyn{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:700;padding:4px 10px;border-radius:9px;margin:0 0 8px;border:1px solid transparent}
.pr-dyn.up{background:rgba(22,163,74,.12);border-color:rgba(22,163,74,.35);color:#15803D}
.pr-dyn.down{background:rgba(220,38,38,.10);border-color:rgba(220,38,38,.35);color:#B91C1C}
.pr-dyn span{font-weight:500;color:inherit;opacity:.8;font-size:12.5px}
.rg-box{margin-bottom:14px}.rg-box summary{cursor:pointer}
.rg-top{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;margin:12px 0}
.rg-top .inp{width:110px}
.rg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;margin-bottom:12px}
.rg-grid .inp{width:100%}
/* Найм — крупные плитки */
.pr-hm-g{margin-bottom:12px}
.pr-hm-t{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
@media (max-width:560px){.pr-hm-t{grid-template-columns:repeat(2,minmax(0,1fr))}}
.pr-hm-t>div{background:var(--surface-2);border-radius:14px;padding:10px 12px;display:flex;flex-direction:column;gap:2px;min-width:0}
.pr-hm-t span{font-size:12.5px;color:var(--muted);line-height:1.25;min-height:2.5em}
.pr-hm-t b{font-size:26px;line-height:1.15}
.pr-hm-t small{font-size:12.5px;color:var(--muted)}
.pr-hm-t .sig{background:rgba(22,163,74,.12)}.pr-hm-t .sig b{color:#15803D}
.pr-hm-foot{display:flex;flex-direction:column;gap:6px;font-size:14.5px;border-top:1px dashed var(--line);padding-top:10px}
.pr-hm-warn{color:#B45309;font-weight:600}
/* «в норме, но не в цели» — жёлтым (глобальный .warn красит текст красным — тут не нужно) */
.pr-row.warn{color:var(--ink);background:rgba(245,158,11,.20);box-shadow:inset 0 0 0 1px rgba(245,158,11,.45)}
.pr-row.warn .pr-v,.pr-row.warn .pr-v b{color:#B45309}
.pr-row.warn .pr-dot{background:#F59E0B}

/* ===== «Для конференции» ===== */
.cf-wrap{display:flex;flex-direction:column;gap:14px}
.cf-hero{padding:16px 18px;border-radius:14px;background:linear-gradient(135deg,var(--surface) 0%,var(--surface-2) 100%)}
.cf-hero-t{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}
.cf-hero h2{margin:0 0 6px;font-size:22px}
.cf-per{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:14px}
.cf-pa,.cf-pb{padding:3px 10px;border-radius:999px;font-weight:600}
.cf-pa{background:var(--accent-soft);color:var(--accent)}
.cf-pb{background:var(--surface-2);border:1px solid var(--line-strong)}
.cf-pres{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.cf-pre{border:1px solid var(--line-strong);background:var(--surface);border-radius:12px;padding:9px 14px;font-weight:600;font-size:14px;cursor:pointer}
.cf-pre[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);box-shadow:0 4px 14px rgba(217,83,30,.25)}
.cf-cust{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px;font-size:13px}
.cf-cust label{display:flex;gap:6px;align-items:center}
.cf-opts{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:10px}
.cf-load{text-align:center;color:var(--muted);padding:26px}
.cf-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}
.cf-tile{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;gap:3px}
.cf-tl{font-size:13px;color:var(--muted);font-weight:600}.cf-tl small{font-weight:400}
.cf-tv{font-size:28px;font-weight:700;font-family:var(--mono);line-height:1.15}
.cf-tb{font-size:14px;color:var(--ink)}.cf-tb b{font-family:var(--mono)}
.cf-tv.ok,.cf-cv.ok{color:var(--ok)}.cf-tv.warn,.cf-cv.warn{color:var(--mid)}.cf-tv.bad,.cf-cv.bad{color:var(--bad)}
.cf-d{display:inline-block;align-self:flex-start;margin-top:3px;padding:2px 8px;border-radius:999px;font-size:12.5px;font-weight:700;white-space:nowrap}
.cf-d.good{background:var(--work-bg);color:var(--ok)}.cf-d.bad{background:var(--bad-bg);color:var(--bad)}.cf-d.eq,.cf-d.na{background:var(--surface-2);color:var(--muted)}
.cf-sec{padding:10px 12px;border-radius:14px}
.cf-sh{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:8px}
.cf-sh h3{margin:0;font-size:17px}
.cf-tab{border-collapse:separate;border-spacing:0;width:auto}
.cf-scroll{max-height:calc(100vh - 140px);overflow:auto;border:1px solid var(--line-strong);border-radius:8px;display:inline-block;max-width:100%}
.cf-tab th{position:sticky;top:0;z-index:2;background:var(--surface-2);font-size:13px;padding:6px 8px;text-align:center;border-right:1px solid var(--line-strong);border-bottom:2px solid var(--line-strong);cursor:pointer;white-space:nowrap;user-select:none}
.cf-tab th.cf-city{z-index:3;left:0}
.cf-x{border:0;background:none;color:var(--faint);font-size:11px;padding:0 0 0 4px;cursor:pointer}.cf-x:hover{color:var(--bad)}
.cf-hbar{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin:0 0 6px}
.cf-tab th.on{background:var(--accent-soft);color:var(--accent)}
.cf-tab th.dragging{opacity:.5}.cf-tab th.dragover{box-shadow:inset 3px 0 0 var(--accent)}
.cf-tab th small{display:block;font-weight:400;color:var(--muted)}
.cf-tab td{padding:5px 8px;border-right:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);text-align:center;vertical-align:middle;white-space:nowrap}
.cf-tab .cf-city{text-align:left;font-weight:600;position:sticky;left:0;background:var(--surface);z-index:1;cursor:default;padding-right:14px}
.cf-tab th.cf-city{background:var(--surface-2)}
.cf-cv{font-size:15px;font-weight:700;font-family:var(--mono);line-height:1.25}
.cf-num{color:var(--ink)}
.cf-cb{font-size:12.5px;color:var(--ink);margin-top:2px}.cf-cb b{font-family:var(--mono);font-size:13px}
.cf-cb .cf-d{margin:0 0 0 4px;padding:1px 6px;font-size:11.5px}
.cf-n{font-size:11.5px;color:var(--muted)}
.cf-tab tr:hover td{background:var(--surface-2)}
.cf-reg td,.cf-tab .cf-reg td.cf-city{background:var(--surface-2);border-top:2px solid var(--line-strong)}
.cf-now-h{margin:6px 4px 0}
.cf-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px}
.cf-box{padding:12px 14px;border-radius:14px}
.cf-box .cf-sh{flex-direction:column;gap:2px}
.cf-mini{width:100%;border-collapse:collapse}
.cf-mini td{padding:6px 4px;border-bottom:1px solid var(--line);font-size:14px}
.cf-mini td:first-child{font-weight:600}
.cf-mv{text-align:right;white-space:nowrap}
.cf-mv small{display:block;color:var(--muted);font-size:11.5px}
.cf-pill{display:inline-block;min-width:54px;text-align:center;padding:3px 10px;border-radius:8px;font-weight:700;font-family:var(--mono);background:var(--surface-2);border:1px solid var(--line)}
.cf-pill.ok{background:var(--work-bg);color:var(--ok);border-color:transparent}
.cf-pill.warn{background:var(--mid-bg);color:var(--mid);border-color:transparent}
.cf-pill.bad{background:var(--bad-bg);color:var(--bad);border-color:transparent}
.cf-mini .cf-reg td{font-weight:700}
@media (max-width:640px){.cf-hero{padding:12px}.cf-pre{flex:1 1 calc(50% - 8px);padding:9px 8px;font-size:13px}.cf-tv{font-size:24px}.cf-grid{grid-template-columns:1fr}}

.cf-avg{display:inline-block;min-width:64px;padding:1px 8px;border-radius:8px;border:2px solid var(--line-strong);background:var(--surface-2);color:var(--ink);font-family:var(--mono);font-weight:700}
.cf-avg.big{font-size:26px;padding:2px 12px}
.cf-avg.ok{background:#D7EFE2;border-color:#1D7F54;color:#0F5A39}
.cf-avg.warn{background:#FFF1CC;border-color:#C99A1A;color:#7A5400}
.cf-avg.bad{background:#FBE1DE;border-color:#C2352B;color:#8E1F17}
.cf-note{margin-top:10px;font-size:13px;color:var(--muted);background:var(--surface-2);border:1px dashed var(--line-strong);border-radius:10px;padding:7px 10px}
.cf-wk{display:flex;align-items:center;gap:8px;margin:0 0 6px;flex-wrap:wrap}
.cf-mini td.bad{color:var(--bad)}

.dm-list{display:flex;flex-direction:column;gap:2px}
.dm-row{display:flex;gap:10px;align-items:flex-start;padding:7px 4px;border-bottom:1px solid var(--line);cursor:pointer}
.dm-row input{width:20px;height:20px;margin-top:1px;flex:none}
.dm-row small{display:block;color:var(--muted);font-size:12.5px}

.bc-img{display:grid;grid-template-columns:minmax(220px,300px) 1fr;gap:16px;align-items:start;margin-bottom:12px}
.bc-prev{width:100%;border-radius:12px;border:1px solid var(--line);display:block}
.bc-bgs{display:flex;flex-wrap:wrap;gap:8px}
.bc-bg{position:relative;width:96px}.bc-bg img{width:96px;height:120px;object-fit:cover;border-radius:8px;border:2px solid var(--line);cursor:pointer;display:block}
.bc-bg.on img{border-color:var(--accent)}.bc-bg .btn{position:absolute;top:2px;right:2px;padding:0 6px;min-height:22px;background:var(--surface)}
.bc-add{width:96px;height:120px;border:2px dashed var(--line-strong);border-radius:8px;display:flex;align-items:center;justify-content:center;text-align:center;font-size:13px;cursor:pointer;color:var(--muted)}
@media (max-width:640px){.bc-img{grid-template-columns:1fr}}

.tk-subs{margin-top:6px;display:flex;flex-direction:column;gap:4px}
.tk-sh{font-size:12px;color:var(--muted);font-weight:600}
.tk-sub{display:flex;gap:6px;align-items:flex-start;flex-wrap:wrap;padding:4px 6px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2)}
.tk-sub.done{background:var(--work-bg)}.tk-sub.done .tk-sin,.tk-sub.done .tk-stx{text-decoration:line-through;color:var(--muted)}
.tk-sub.late{border-color:var(--bad);background:var(--bad-bg)}
.tk-sbx{width:22px;height:22px;flex:none;border:2px solid var(--line-strong);border-radius:6px;background:var(--surface);font-weight:800;color:var(--ok);line-height:16px;padding:0;cursor:pointer}
.tk-sub.done .tk-sbx{border-color:var(--ok)}
.tk-sin{flex:1 1 100%;min-width:120px;border:0;background:transparent;resize:none;font:inherit;font-size:13.5px;padding:1px 2px;overflow:hidden}
.tk-stx{flex:1 1 140px;font-size:13.5px}
.tk-sds{display:flex;gap:8px;align-items:center;font-size:12px;color:var(--muted);white-space:nowrap}
.tk-sd{position:relative;cursor:pointer}.tk-sd b{color:var(--ink)}
.tk-sd .tk-dp{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}
.tk-lt{color:var(--bad);font-weight:700}
.tk-sdel{border:0;background:none;color:var(--faint);cursor:pointer;padding:0 2px}.tk-sdel:hover{color:var(--bad)}
.tk-sadd{align-self:flex-start;border:1px dashed var(--line-strong);background:none;border-radius:8px;padding:2px 10px;font-size:12.5px;color:var(--muted);cursor:pointer}

.bc-bg.common img{opacity:.85;border-style:dashed}
.bc-words{display:flex;flex-wrap:wrap;gap:6px}
.bc-w{display:inline-flex;align-items:center;border:1px solid var(--line-strong);border-radius:999px;background:var(--surface);overflow:hidden}
.bc-w button{border:0;background:none;padding:4px 10px;font-size:15px;cursor:pointer;color:var(--muted)}
.bc-w.on{background:var(--accent-soft);border-color:var(--accent)}.bc-w.on button{color:var(--ink);font-weight:700}
.bc-w .bc-wx{padding:4px 8px 4px 2px;font-size:11px;color:var(--faint)}

.bc-styles{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:6px}
.bc-st{display:flex;flex-direction:column;gap:2px;border:2px solid var(--line);border-radius:10px;padding:6px;cursor:pointer;background:var(--surface);position:relative}
.bc-st.on{border-color:var(--accent);background:var(--accent-soft)}.bc-st.pv{box-shadow:0 0 0 3px rgba(217,83,30,.35)}
.bc-st input{position:absolute;top:6px;right:6px;width:18px;height:18px}
.bc-st img{width:100%;max-width:220px;height:auto;border-radius:6px;background:#fff}
.bc-st span{font-size:12px;color:var(--muted)}

.tk-sr .tk-c{border-bottom:1px dashed rgba(15,23,42,.08);background:rgba(100,116,139,.035)}
.tk-sr.tk-done .tk-c{background:rgba(22,163,74,.06)}
.tk-sr.tk-srlast .tk-c{border-bottom:1px solid rgba(15,23,42,.06)}
.tk-r.tk-hassub .tk-c{border-bottom:1px dashed rgba(15,23,42,.08)}
.tk-sube{vertical-align:middle}
.tk-subarrow{display:inline-block;color:#94A3B8;font-size:13px;padding:8px 6px;white-space:nowrap}
.tk-c .tk-sadd{margin:4px 0 0 6px}

.bc-packs{display:flex;flex-direction:column;gap:6px}
.bc-pack{display:flex;gap:10px;align-items:center;flex-wrap:wrap;border:1px solid var(--line);border-radius:10px;padding:6px 10px}
.bc-pack.on{border-color:var(--accent);background:var(--accent-soft)}
.bc-pked{margin-top:10px;border:1px solid var(--line-strong);border-radius:12px;padding:10px;background:var(--surface-2)}
.bc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:6px;max-height:460px;overflow:auto}
.bc-cell{display:flex;flex-direction:column;align-items:center;gap:2px;border:1px solid var(--line);border-radius:8px;padding:3px;background:var(--surface);position:relative}
.bc-cell.st{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}
.bc-cell [data-bcpkst]{cursor:pointer}
.bc-ce{width:44px;height:44px;object-fit:contain}
.bc-cell .inp{width:44px;min-height:26px;padding:2px;text-align:center;font-weight:700}
.bc-n{position:absolute;top:1px;left:4px;font-size:9px;color:var(--faint)}
.bc-pv{background:#fff;border-radius:10px;padding:8px 10px;margin-bottom:8px;line-height:34px;color:#111}
.bc-pvl{width:30px;height:30px;object-fit:contain;vertical-align:middle}
.bc-pvt{font-weight:700;vertical-align:middle}

.bc-pkpv{display:flex;align-items:center;flex-wrap:wrap;background:#fff;border-radius:8px;padding:2px 8px;min-height:36px;color:#111}

.bc-tg{background:#fff;border-radius:14px;overflow:hidden;border:1px solid var(--line);max-width:300px;color:#111}
.bc-tgph{display:block;width:100%}
.bc-tgcap{padding:8px 10px 10px;font-size:14px;line-height:1.25}
.bc-tgl{display:flex;align-items:center;flex-wrap:wrap;min-height:20px}
.bc-fl{width:24px;height:24px;object-fit:contain}

.bc-fe{font-size:21px;line-height:24px}

/* «Анализ рекламы» на телефоне: таблица по ширине содержимого и листается вбок, ячейки не наезжают друг на друга */
@media (max-width:700px){
  .ads-tab{table-layout:auto;width:max-content;min-width:100%;font-size:14px}
  .ads-tab:not(.adsall) thead tr:last-child th:first-child{width:auto}
  .ads-tab th,.ads-tab td{padding:4px 6px}
  .ads-tab .ads-title{text-align:left}
  .ads-tab.ads-sub{font-size:13px}
  .ads-sum{display:block;overflow-x:auto}
}
.ads-tab.adsall{table-layout:auto;width:max-content;min-width:100%;font-size:14px}.ads-tab.adsall td,.ads-tab.adsall th{padding:3px 7px}
.ads-tab.adsall thead th{position:sticky;top:0;z-index:1}
.ads-tab.adsall tr.aa-reg td{background:#eef2f7;font-weight:700;text-align:left;font-size:13px;color:#1a3a6b}
.cf-mwrap{overflow-x:auto}
.cf-mini th{font-size:12px;font-weight:600;color:var(--muted);text-align:left;padding:4px;border-bottom:1px solid var(--line-strong);cursor:pointer;white-space:nowrap;user-select:none}
.cf-mini th.cf-mvh{text-align:right}.cf-mini th.on{color:var(--ink)}
@media (max-width:900px){.cf-box.cf-wide{grid-column:auto}}
.cf-mini th{white-space:normal;line-height:1.15}
.cf-mini .cf-pill{min-width:40px;padding:2px 7px}
.cf-mini td{padding:5px 3px}
.cf-mv small{white-space:normal}

.chip-st{display:inline-block;font-size:13px;padding:2px 10px;border-radius:12px;background:var(--bg2,#f3f4f6)}
.chip-st.ok{background:#e3f5e6;color:#1b6b2a}.chip-st.warn{background:#fff3d6;color:#8a5a00}

.cf-all{align-items:start;grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}
.cf-item.cf-w2{grid-column:span 2}
@media (max-width:760px){.cf-item.cf-w2{grid-column:auto}.cf-all{grid-template-columns:1fr}}
.cf-item{position:relative;min-width:0}
.cf-item.cf-span{grid-column:1/-1}
.cf-item>.panel{margin:0;height:100%}
.cf-mvb{position:absolute;top:8px;right:8px;z-index:2;display:flex;gap:2px;opacity:.35;transition:opacity .15s}
.cf-item:hover .cf-mvb,.cf-mvb:focus-within{opacity:1}
.cf-mvb button,.cf-grip{border:1px solid var(--line,#ddd);background:var(--bg,#fff);border-radius:6px;font-size:12px;line-height:1;padding:3px 6px;cursor:pointer;color:var(--muted,#666)}
.cf-mvb button:disabled{opacity:.3;cursor:default}
.cf-grip{cursor:grab;user-select:none}
.cf-item.dragging{opacity:.5}
.cf-item.cf-over>.panel{outline:2px dashed var(--accent,#e8572a);outline-offset:2px}
.cf-item .cf-sh{padding-right:76px}
@media (hover:none){.cf-mvb{opacity:.8}}

.grid tr.mrow td.name{padding-left:20px}
.grid td.name .mnum{position:absolute;left:2px;top:12px;width:14px;font-size:10px;line-height:1;color:var(--muted,#9aa0a6);opacity:.6;text-align:right;font-variant-numeric:tabular-nums;pointer-events:none}

@media (max-width:640px){.grid tr.mrow td.name{padding-left:16px}.grid td.name .mnum{width:12px;left:1px;font-size:9px}}

.cf-ns{table-layout:auto;width:100%}
.cf-ns th.cf-mvh{width:1%;white-space:normal;line-height:1.15;font-size:11px;text-align:center;min-width:62px}
.cf-ns td.cf-nsv{text-align:center;width:1%;padding:6px 4px}
.cf-ns tr.cf-nsr td{border-bottom:none;padding-bottom:2px}
.cf-ns tr.cf-nsn td{font-size:11.5px;line-height:1.35;color:var(--muted,#666);padding:0 6px 8px;border-bottom:1px solid var(--line,#e5e7eb)}
.cf-nsl{font-size:11px}.cf-nsl.bad{color:#c62828}
.cf-nssep{margin:0 6px;opacity:.5}
.cf-ns tr.cf-nsn td:first-child{font-weight:400}

.cf-hr td{vertical-align:top;font-size:13px;line-height:1.35}
.cf-hr td div+div{margin-top:3px}

.hm-pe{margin:10px 0;padding:10px 12px;border:1.5px dashed var(--accent,#e8572a);border-radius:12px;background:var(--surface-2,#fafafa)}
.hm-pe-h{display:flex;align-items:center;gap:8px;justify-content:space-between;margin-bottom:8px}
.hm-pe-r{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:8px}
.hm-pin{width:64px;padding:4px 6px;text-align:center}
.hm-pe-t td{padding:3px 4px}
.hm-pe-new td{background:var(--surface,#fff)}
.hm-pe-new input[type=date]{width:130px}
tr.hm-pe-on td{background:#fff3e0}
.hm-del{color:#c62828}
.hm-pe-r input[type=date]{width:150px;flex:0 0 auto}.hm-pe-r .sel{width:auto}

.ofm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}
.ofm-c{border:1px solid var(--line,#e5e7eb);border-radius:12px;padding:8px 10px;background:var(--surface,#fff)}
.ofm-h{display:flex;justify-content:space-between;align-items:baseline;gap:6px;border-bottom:1px solid var(--line,#e5e7eb);padding-bottom:4px;margin-bottom:4px}
.ofm-h b{font-size:16px}
.ofm-r{display:grid;grid-template-columns:1fr auto 52px;gap:6px;align-items:baseline;padding:2px 0;font-size:13px}
.ofm-r small{text-align:right}
.ofm-r.ofm-r b,.ofm-cr{color:#c62828}.ofm-r.ofm-y b,.ofm-cy{color:#c98a00}.ofm-r.ofm-g b,.ofm-cg{color:#2e7d32}
.ofm-n{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.hm-blk{border-radius:12px;padding:10px 12px;margin:10px 0;border:1px solid var(--line,#e5e7eb);border-left-width:5px}
.hm-blk.hm-now{border-left-color:#1e88e5;background:rgba(30,136,229,.05)}
.hm-blk.hm-done{border-left-color:#2e7d32;background:rgba(46,125,50,.05)}
.hm-blk-h{font-weight:700;font-size:14px;margin-bottom:8px}
.hm-blk-h .small{font-weight:400;margin-left:4px}
.hm-fadd{margin-top:8px;display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end}
.hm-blk.hm-done>.btn{margin-top:8px}
.hm-of2{display:inline-flex;align-items:center;gap:4px}

.hm-edit{background:#fff3e0!important;border:1px solid #f0a35a!important;color:#b85c00!important;font-weight:600}
.hm-edit:hover{background:#ffe0b8!important}
.hm-pv .hm-pvd{width:130px}.hm-pv .hm-of{padding:4px 4px}
.hm-pv td{vertical-align:middle}

.cf-ads{display:inline-flex;flex-wrap:nowrap;gap:4px;margin-top:5px;align-items:center;border:1px solid var(--line-strong,#c9cfd6);border-radius:9px;padding:3px 5px;background:var(--surface,#fff)}
.cf-ads-l{font-size:9.5px;text-transform:uppercase;letter-spacing:.03em;color:var(--muted,#888);margin-right:1px}
.cf-oft td.cf-c{min-width:230px}
.cf-ad{display:inline-flex;align-items:center;gap:4px;font-size:11px;line-height:1.2;padding:1px 6px;border-radius:8px;background:color-mix(in srgb,var(--c) 22%,#fff);color:#222;white-space:nowrap}
.cf-ad i{width:8px;height:8px;border-radius:50%;background:var(--c);display:inline-block}

.cf-staff{font-size:11.5px;margin-top:3px;color:var(--ink,#222)}

.lg-nav{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:8px 14px 0}
.lg-nav b{font-family:var(--mono);font-size:14px}
.lg-past{font-size:12px;padding:2px 8px;border-radius:8px;background:#fff3e0;color:#9a5a00}

input.pr-kwi.pr-kf-ok{border-color:var(--ok);background:var(--ok-s);color:var(--ok)}
input.pr-kwi.pr-kf-warn{border-color:var(--warn);background:var(--warn-s);color:var(--warn)}
input.pr-kwi.pr-kf-bad{border-color:var(--bad);background:var(--bad-s);color:var(--bad)}
.pr-kwi.pr-kwe{outline:2px dashed #3B82F6;outline-offset:1px}
/* KPI директоров */
.ka-wrap{display:flex;flex-direction:column;gap:12px;--ka-ok:#16a34a;--ka-ok-bg:#dcfce7;--ka-warn:#b45309;--ka-warn-bg:#fef3c7;--ka-bad:#dc2626;--ka-bad-bg:#fee2e2;--ka-ed:#3b82f6;--ka-acc:#EA580C}
:root[data-theme="dark"] .ka-wrap{--ka-ok:#4ade80;--ka-ok-bg:rgba(34,197,94,.18);--ka-warn:#fbbf24;--ka-warn-bg:rgba(245,158,11,.2);--ka-bad:#f87171;--ka-bad-bg:rgba(239,68,68,.2)}
.ka-hdr{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap}
.ka-h1{font-size:22px;font-weight:800;letter-spacing:-.01em}
.ka-wk{font-size:14px;color:var(--muted);margin-top:2px;font-weight:600}
.ka-upd{color:var(--ka-acc);font-weight:600}
.ka-tools{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.ka-seg{display:inline-flex;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--surface)}
.ka-seg button{border:0;background:transparent;padding:7px 12px;font:inherit;font-size:13px;font-weight:600;color:var(--ink);cursor:pointer}
.ka-seg button+button{border-left:1px solid var(--line)}.ka-seg button:disabled{opacity:.35;cursor:default}
.ka-btn{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:10px;padding:7px 12px;font:inherit;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap}
.ka-btn.primary{background:var(--ka-acc);border-color:var(--ka-acc);color:#fff}
.ka-btn:disabled{opacity:.5}
.ka-leg{display:flex;gap:16px;flex-wrap:wrap;font-size:12px;color:var(--muted)}
.ka-leg span{display:inline-flex;align-items:center;gap:6px}
.ka-dot{width:12px;height:12px;border-radius:4px;display:inline-block}
.ka-dot.ok{background:var(--ka-ok-bg);border:1.5px solid var(--ka-ok)}.ka-dot.warn{background:var(--ka-warn-bg);border:1.5px solid var(--ka-warn)}
.ka-dot.bad{background:var(--ka-bad-bg);border:1.5px solid var(--ka-bad)}.ka-dot.ed{border:1.5px dashed var(--muted)}
.ka-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:0 1px 2px rgba(16,24,40,.04),0 4px 16px rgba(16,24,40,.05);overflow:hidden}
.ka-tab{width:100%;border-collapse:separate;border-spacing:0;font-variant-numeric:tabular-nums}
.ka-tab th{background:var(--surface-2);color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:12px 10px;border-bottom:1px solid var(--line);white-space:nowrap}
.ka-tab td{padding:14px 10px;border-bottom:1px solid var(--line);vertical-align:middle}
.ka-tab tbody tr:last-child td{border-bottom:0}
.ka-tab th.ka-m,.ka-tab td.ka-m{text-align:center;min-width:120px}
.ka-tab .ka-city{text-align:left;position:sticky;left:0;z-index:2;background:var(--surface);min-width:150px;box-shadow:1px 0 0 var(--line)}
.ka-tab th.ka-city{background:var(--surface-2)}
.ka-tab .ka-zpc{text-align:left;min-width:190px}
.ka-cn{font-size:16px;font-weight:800;color:var(--ink)}
.ka-go{display:inline-flex;align-items:center;gap:6px;text-decoration:none}
.ka-go:hover .ka-cn{color:var(--ka-acc)}
.ka-arr{color:var(--faint);font-size:18px;line-height:1}
.ka-err{margin-left:6px;cursor:help}
.ka-stw{margin-top:6px}
.ka-pill{display:inline-block;font-size:11px;font-weight:700;padding:3px 8px;border-radius:999px}
.ka-pill.ok{background:var(--ka-ok-bg);color:var(--ka-ok)}.ka-pill.warn{background:var(--ka-warn-bg);color:var(--ka-warn)}
.ka-who{font-size:11px;color:var(--faint);margin-top:4px}
.ka-zpb{border-radius:14px;padding:10px 14px;background:linear-gradient(135deg,rgba(234,88,12,.12),rgba(234,88,12,.04));border:1px solid rgba(234,88,12,.25)}
.ka-zpb.ap{background:linear-gradient(135deg,rgba(22,163,74,.14),rgba(22,163,74,.04));border-color:rgba(22,163,74,.3)}
.ka-zpb.tot{background:linear-gradient(135deg,#EA580C,#F97316);border:0;color:#fff;box-shadow:0 6px 18px rgba(234,88,12,.3)}
.ka-zpv{font-size:22px;font-weight:800;letter-spacing:-.02em;line-height:1.15;white-space:nowrap}
.ka-zpm{display:flex;gap:8px;align-items:center;margin-top:4px;font-size:12px;color:var(--muted);white-space:nowrap}
.ka-zpb.tot .ka-zpm{color:rgba(255,255,255,.9)}
.ka-pct{font-weight:800;font-size:12px;padding:2px 7px;border-radius:999px;background:var(--surface);color:var(--ink);box-shadow:inset 0 0 0 1px var(--line)}
.ka-zpb.tot .ka-pct{background:rgba(255,255,255,.22);color:#fff;box-shadow:none}
.ka-zpc .ka-btn{margin-top:8px;padding:5px 10px;font-size:12px}
.ka-mm{display:flex;flex-direction:column;align-items:center;gap:5px}
.ka-i{width:100px;height:36px;box-sizing:border-box;border:1.5px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);font:inherit;font-size:15px;font-weight:700;text-align:center;padding:0 6px;font-variant-numeric:tabular-nums;outline:none;transition:box-shadow .15s}
.ka-i:focus{box-shadow:0 0 0 3px rgba(59,130,246,.25);border-color:var(--ka-ed)}
.ka-i.ka-ok{background:var(--ka-ok-bg);border-color:var(--ka-ok);color:var(--ka-ok)}
.ka-i.ka-warn{background:var(--ka-warn-bg);border-color:var(--ka-warn);color:var(--ka-warn)}
.ka-i.ka-bad{background:var(--ka-bad-bg);border-color:var(--ka-bad);color:var(--ka-bad)}
.ka-i.ka-ed{border-style:dashed}
.ka-i.ka-ed:not(.ka-ok):not(.ka-warn):not(.ka-bad){border-color:var(--ka-ed)}
.ka-i.ka-sm{width:64px;height:26px;font-size:12px;font-weight:600;border-width:1px;border-radius:8px}
.ka-sub{display:flex;align-items:center;justify-content:center;gap:5px;font-size:11px;color:var(--muted);white-space:nowrap}
.ka-tg{display:flex;flex-direction:column;align-items:center;font-size:11px;line-height:1.35;color:var(--muted);white-space:nowrap}
.ka-adj{font-weight:800;font-size:11px;margin-top:1px}.ka-adj.ok{color:var(--ka-ok)}.ka-adj.bad{color:var(--ka-bad)}
.ka-tab tr.ka-ap td{background:linear-gradient(rgba(22,163,74,.035),rgba(22,163,74,.035)),var(--surface)}
.ka-tot td{background:var(--surface-2)!important;border-top:2px solid var(--line)}
.ka-totx{color:var(--muted);font-size:13px}.ka-totx span{margin-right:24px}.ka-totx b{color:var(--ink)}
.ka-miss{color:var(--muted)}
.ka-info{font-size:12px;color:var(--muted)}.ka-info summary{cursor:pointer;font-weight:600}.ka-info div{margin-top:6px;line-height:1.5}
@media (max-width:640px){.ka-h1{font-size:19px}.ka-tab .ka-city{min-width:100px;max-width:110px;white-space:normal}.ka-cn{font-size:14px}.ka-zpv{font-size:18px}.ka-tab .ka-zpc{min-width:160px}}
.ka-pos{margin-top:8px;padding-top:7px;border-top:1px dashed rgba(127,127,127,.3);display:flex;flex-direction:column;gap:3px}
.ka-pos div{display:flex;justify-content:space-between;gap:12px;font-size:12px;color:var(--muted);white-space:nowrap}
.ka-pos b{color:var(--ink);font-weight:700;font-variant-numeric:tabular-nums}
.ka-zpb.tot .ka-pos{border-top-color:rgba(255,255,255,.4)}.ka-zpb.tot .ka-pos div,.ka-zpb.tot .ka-pos b{color:#fff}
/* HR: общая воронка + записано по направлениям */
.hm-fun,.hm-sigs{border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin:8px 0;background:var(--surface)}
.hm-fun-h{font-weight:700;font-size:13px;margin-bottom:6px}
.hm-sigr{display:flex;align-items:center;gap:10px;padding:6px 0;border-top:1px dashed var(--line);font-size:14px}
.hm-sigr:first-of-type{border-top:0}
.hm-sigr>span{flex:1}
.hm-sigv{font-size:18px;min-width:32px;text-align:right}
.hm-sigr small{color:var(--muted);min-width:36px}
.hm-sigf{min-width:160px}
.hm-tplx{white-space:pre-wrap;background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-size:13px;line-height:1.45;margin:0 0 8px}
.hm-sigin{display:flex;flex-wrap:wrap;gap:10px;margin:8px 0}
.hm-sigin .hm-sigf{flex:1 1 170px;min-width:150px;white-space:normal;color:#16a34a;font-weight:600}
.hm-reps{display:flex;flex-direction:column;gap:6px;margin:8px 0 10px}
.hm-rep{border-radius:10px;padding:8px 12px;font-size:14px;border:1px solid var(--line);background:var(--surface)}
.hm-rep.bad{background:rgba(220,38,38,.10);border-color:rgba(220,38,38,.35)}
.hm-rep.warn{background:rgba(245,158,11,.12);border-color:rgba(245,158,11,.4)}
.hm-rep.ok{background:rgba(22,163,74,.10);border-color:rgba(22,163,74,.3)}
.hm-rep.info{background:var(--surface-2)}
.hm-rows{display:flex;flex-direction:column;gap:4px;max-width:380px;margin:8px 0 10px}
.hm-row{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px;color:var(--ink);padding:3px 0;border-bottom:1px dashed var(--line)}
.hm-row span{flex:1;line-height:1.25}
.hm-row .inp{width:72px;min-height:32px;height:32px;padding:2px 8px;text-align:center;font-weight:700;flex:none}
.hm-row-sig span{color:#16a34a;font-weight:600}
.tgr-f{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end}.tgr-f label{display:flex;flex-direction:column;gap:3px;font-size:13px;flex:1 1 180px}
.tgr-steps{margin:0 0 10px;padding-left:20px}.tgr-steps li{margin:3px 0}
.at-card{padding:18px 20px;max-width:920px}
.at-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}
.at-t{font-size:20px;font-weight:700}.at-sub{font-size:14px;color:var(--muted);margin-top:2px}
.at-kpi{display:flex;gap:10px}.at-kpi>div{background:var(--bg2,rgba(127,127,127,.07));border-radius:12px;padding:8px 14px;text-align:center;min-width:92px}
.at-kpi b{display:block;font-size:24px;line-height:1.1}.at-kpi span{font-size:12px;color:var(--muted)}
.at-kpi .bad,.at-g.bad{color:var(--bad,#c33)}.at-kpi .ok,.at-g.ok{color:var(--ok,#2a8a4a)}
.at-tbl{width:100%;border-collapse:collapse;font-size:16px;font-variant-numeric:tabular-nums;font-family:inherit}
.at-tbl th{font-size:13px;font-weight:600;color:var(--muted);text-align:left;padding:8px 10px;border-bottom:2px solid var(--line)}
.at-tbl td{padding:10px;border-bottom:1px solid var(--line)}
.at-tbl .at-n{text-align:right;white-space:nowrap}.at-tbl td.at-n{font-weight:600}.at-tbl td.at-m{font-weight:400;color:var(--muted)}
.at-city a{color:inherit;text-decoration:none;font-weight:600}.at-city{font-weight:600}
.at-g{display:inline-block;min-width:32px;text-align:center;border-radius:8px;padding:2px 8px;font-weight:700}
.at-g.bad{background:rgba(220,60,60,.12)}.at-g.ok{background:rgba(40,150,80,.1)}
.at-p{width:34%}.at-pw{display:flex;align-items:center;gap:10px}.at-pw b{min-width:42px;text-align:right}
.at-bar{flex:1;height:10px;border-radius:6px;background:rgba(127,127,127,.12);overflow:hidden}.at-bar i{display:block;height:100%;border-radius:6px}
.at-bar i.bad{background:var(--bad,#d44)}.at-bar i.ok{background:var(--ok,#2a8a4a)}
.at-tbl tr.at-tot td{border-top:2px solid var(--line);border-bottom:none;font-weight:700;background:rgba(127,127,127,.05)}
.at-tbl tr.sel td{background:rgba(127,127,127,.1)}
.at-note{font-size:12px;color:var(--muted);margin-top:10px}
@media (max-width:600px){.at-tbl{font-size:14px}.at-tbl th,.at-tbl td{padding:8px 6px}.at-p{width:auto}.at-bar{display:none}.at-tbl .at-m{display:none}.at-kpi>div{min-width:0;padding:6px 10px}.at-kpi b{font-size:20px}}
.cf-all.cf-mas{grid-auto-rows:4px;row-gap:0;grid-auto-flow:row dense;align-items:start}
.cf-mas .cf-item>.panel{height:auto}
.cf-scroll.cf-ofs{max-height:none;overflow-y:visible}
.cf-oft thead th{box-shadow:0 2px 0 var(--line-strong)}
.at-tbl2 th small{display:block;font-weight:400;font-size:11px}
.at-lnk{text-decoration:none;cursor:pointer}.at-lnk:hover{outline:2px solid currentColor}
@media (max-width:600px){.at-tbl2 .at-m{display:table-cell}}
.at-tbl th.at-sort{cursor:pointer;user-select:none}.at-tbl th.at-sort:hover,.at-tbl th.at-sort.on{color:var(--ink)}
.at-card:has(.at-tbl2){max-width:1120px}.at-tbl2 th{white-space:normal;line-height:1.2}
/* Негативные отзывы: города сверху, «все на одном листе», большое поле комментария */
.panel.card.n2-citybar{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:flex-start;text-align:left;gap:10px;padding:10px 14px}.n2-citybar .chips{margin:0}
.n2-thead{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 8px}
.n2-full{position:fixed;inset:0;z-index:60;background:var(--bg,#f3f5f8);overflow:auto;padding:10px 14px 40px}
.n2-full .n2scroll{max-height:none;overflow:visible}
.n2-full .n2tab th{top:52px}.n2-full .n2tab tr.n2-day td{top:86px}
.n2-fullbar{position:sticky;top:0;left:0;z-index:5;display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:var(--bg,#f3f5f8);padding:8px 0;min-height:44px}
.n2-fullcity .chips{display:inline-flex}
body.n2-noscroll{overflow:hidden}
.n2tab td.n2-comm{min-width:320px;max-width:none}
.n2-ci{width:100%;min-width:200px;resize:vertical;font-size:14px;line-height:1.35}
.n2tab td.n2-comm .n2-ci.n2-ci-big,.n2-ci.n2-ci-big{min-height:150px;font-size:15px;position:relative;z-index:4;box-shadow:0 6px 24px rgba(0,0,0,.18);background:var(--surface,#fff)}
.n2-full .panel{width:max-content;min-width:100%;box-sizing:border-box}
.n2-full .n2-fullbar{left:0;position:sticky}

/* города в «Негативных отзывах» — цвета как на картинке в Telegram */
.n2tab tr td.n2cc0{background:#FF0000!important;color:#111!important}
.n2tab tr td.n2cc1{background:#FFA500!important;color:#111!important}
.n2tab tr td.n2cc2{background:#FFFF00!important;color:#111!important}
.n2tab tr td.n2cc3{background:#3CB043!important;color:#111!important}
.n2tab tr td.n2cc4{background:#4BACC6!important;color:#111!important}
.n2tab tr td.n2cc5{background:#6FA8DC!important;color:#111!important}
.n2tab tr td.n2cc6{background:#B48BD9!important;color:#111!important}
.n2tab tr td.n2cc7{background:#00B0A0!important;color:#111!important}
.at-av{display:block;font-size:11px;font-weight:600;color:#0a7cff}.at-avb{color:#0a7cff}
.n2-cn{margin-left:4px;font-weight:700}.chip[aria-pressed="true"] .n2-cn{color:inherit}
.n2-cs{margin-left:6px;font-size:12px;opacity:.75;font-weight:400}
.n2-phn{display:inline-flex;align-items:center;gap:4px;margin-right:6px}.n2-cp{border:0;background:transparent;cursor:pointer;font-size:15px;padding:2px 4px;border-radius:6px;line-height:1}.n2-cp:hover{background:rgba(0,0,0,.08)}
.bc-items{margin:6px 0 0;padding-left:20px;display:grid;gap:4px}.bc-txt{white-space:pre-wrap}
.bc-hist{display:grid;gap:6px}.bc-h{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;text-align:left;border:1px solid var(--line,#e3e6ea);background:transparent;border-radius:10px;padding:8px 12px;cursor:pointer;color:inherit;font:inherit}
.bc-h.on{border-color:var(--accent,#e5532d)}.bc-hp{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.bc-p{display:inline-block;margin:2px 4px 2px 0;padding:2px 8px;border-radius:999px;font-size:13px}.bc-p.ok{background:#e3f6e8;color:#16692e}.bc-p.bad{background:#fde6e3;color:#a32014}.bc-p.err{background:#eee;color:#555}
.bc-tbl td{vertical-align:top}
@media (max-width:640px){.bc-h{grid-template-columns:1fr}}
.bc-btn{align-self:flex-start;text-decoration:none;width:auto}
.bc-lock{display:flex;gap:8px;align-items:center;margin-top:10px;font-weight:600}
/* ===== «Логисты» — сводный график логистов всех городов ===== */
.la{font-size:16px}
.la-top h2{font-size:22px}
.la-top{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px;margin-bottom:10px}
.la-nav{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:6px 0 10px}
.la-nav .btn{font-size:16px;min-height:40px;padding:6px 14px}
.la-per{font-size:18px;padding:0 4px}
.la-chips{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 12px}
.la-chips .chip{font-size:14px}
.la-sum{background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:10px 14px;margin:0 0 12px}
.la-sum h3{margin:0 0 6px;font-size:17px}
.la-sum ul{margin:0;padding:0;list-style:none;columns:2 300px;column-gap:28px}
.la-sum li{padding:3px 0;break-inside:avoid;font-size:16px}
.la-sum li.la-bad{color:var(--bad)}
.la-sum li.la-nd{color:var(--faint)}
.la-warn{color:var(--bad);font-size:14px}
.la-city{all:unset;cursor:pointer;font-weight:700;color:inherit;text-decoration:underline;text-decoration-color:var(--line-strong);text-underline-offset:3px}
.la-city:hover{color:var(--accent)}
.la-leg{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:14px;margin:0 0 8px;color:var(--muted)}
.la-wrap{max-height:none;border:1px solid var(--line);border-radius:10px;-webkit-overflow-scrolling:touch}
.la-t{border-collapse:separate;border-spacing:0;width:100%;min-width:max-content;font-size:16px;background:var(--surface)}
.la-t th,.la-t td{border-bottom:1px solid var(--line);border-right:1px solid var(--line);padding:0;text-align:center}
.la-t thead th{position:sticky;top:0;background:var(--surface-2);z-index:2;font-weight:600;padding:6px 4px}
.la-t th.la-d b{display:block;font-size:15px}
.la-t th.la-d span{display:block;font-size:13px;color:var(--muted)}
.la-t .la-name{position:sticky;left:0;z-index:1;background:var(--surface);text-align:left;padding:6px 10px;min-width:190px;max-width:240px}
.la-t thead .la-name{z-index:3;background:var(--surface-2)}
.la-nm{font-weight:600;line-height:1.25}
.la-ph{display:block;font-size:14px;color:var(--muted);text-decoration:none;font-family:var(--mono)}
.la-badge{display:inline-block;font-size:12px;font-weight:600;background:var(--work);color:#fff;border-radius:6px;padding:1px 6px;vertical-align:middle}
.la-d{min-width:52px;height:46px}
.la-we{background:var(--weekend)}
.la-c{display:inline-grid;place-items:center;min-width:34px;height:30px;border-radius:6px;font-weight:700;font-size:15px;background:var(--surface-2);color:var(--ink)}
.la-c.s-р{background:var(--st-r-bg);color:var(--st-r)}
.la-c.s-в{background:var(--st-v-bg);color:var(--st-v)}
.la-c.s-о{background:var(--st-o-bg);color:var(--st-o)}
.la-c.s-б{background:var(--st-b-bg);color:var(--st-b)}
.la-c.la-emptyk{background:var(--line);color:var(--faint)}
.la-empty{background:var(--surface-2)}
.la-empty span{display:block;font-size:12px;line-height:1.15;color:var(--faint)}
.la-t th.la-today{background:var(--accent);color:#fff}
.la-t th.la-today span{color:#fff}
.la-t td.la-today{background:var(--accent-soft)}
.la-on td.la-name{background:var(--work-bg)}
.la-on td.la-today .la-c.s-р{outline:2px solid var(--work);outline-offset:1px}
.la-cityrow td{background:var(--bg);border-top:2px solid var(--line-strong)}
.la-cityrow td.la-name{background:var(--bg);font-size:17px}
.la-cityrow.la-bad td,.la-cityrow.la-bad td.la-name{background:var(--bad-bg);color:var(--bad)}
.la-why{font-size:13px;font-weight:600}
.la-ndn{color:var(--faint);font-weight:600}
.la-nodata{color:var(--faint);font-style:italic;padding:10px;text-align:left}
.la-cityrow.la-nd td{color:var(--muted)}
@media (max-width:760px){.la{font-size:15px}.la-t .la-name{min-width:140px;max-width:160px;padding:5px 7px}.la-d{min-width:46px}.la-sum ul{columns:1}}
.cmm-head{cursor:default;background:var(--surface-2);position:sticky;top:0;z-index:2;padding:6px 4px}
.cmm-head:hover{background:var(--surface-2)}
.cmm-hk{all:unset;box-sizing:border-box;cursor:pointer;text-align:center;font-size:12px;line-height:1.15;color:var(--muted);padding:4px 2px;border-radius:6px}
.cmm-hk b{display:block;font-size:12px;margin-top:2px}
.cmm-hk:hover{background:var(--line)}.cmm-hk.on{color:var(--ink);font-weight:700;background:var(--accent-soft)}
@media (max-width:700px){.cmm-head .cmm-nm{display:none}.cmm-head .cmm-ks{grid-row:1}}
.cmm-sopts{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 8px}
.cmm-sopts .sel{max-width:260px}
.cmm-pv{margin-top:8px}.cmm-pv img{max-width:100%;height:auto;border:1px solid var(--line);border-radius:8px;display:block}
.cmm-cap{white-space:pre-wrap;margin-top:6px}
.cmw-list{border:1px solid var(--line);border-radius:8px;max-height:420px;overflow:auto}
.cmw-r{display:grid;grid-template-columns:22px 1fr 80px 80px 80px;gap:8px;align-items:center;padding:8px 10px;border-bottom:1px solid var(--line);cursor:pointer}
.cmw-r:last-child{border-bottom:0}.cmw-off{opacity:.6;cursor:default}
.cmw-k{text-align:right;font-size:13px;color:var(--muted)}.cmw-k b{font-size:17px;color:var(--ink)}.cmw-k b.n2-bad{color:var(--bad)}
.cmw-tpl{width:100%;box-sizing:border-box;font-size:15px;margin:4px 0 6px;min-height:180px}
.cmw-pv{white-space:pre-wrap;background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-size:15px;margin-top:4px}
@media (max-width:700px){.cmw-r{grid-template-columns:22px 1fr 1fr 1fr}.cmw-nm{grid-column:2/5}.cmw-r .cmw-k:nth-of-type(1){grid-column:2}}
.sh-stale{background:var(--bad-bg);color:var(--bad);border:1px solid var(--bad);border-radius:10px;padding:10px 14px;margin:0 0 12px;font-size:16px;line-height:1.4}
.sh-stale div{color:var(--ink)}.sh-stale .small{color:var(--muted)}
.ngm-r{grid-template-columns:26px 1fr auto 44px 18px}
.ngm-snd{padding:4px 8px;font-size:16px}.ngm-one{display:flex;gap:8px;align-items:center;grid-column:1/-1;grid-row:2;justify-content:flex-end;padding-top:6px}
@media (max-width:700px){.ngm-r{grid-template-columns:20px 1fr 40px 14px}.ngm-r .cmm-ks{grid-column:2/5}.ngm-one{grid-row:3}}
@media (max-width:700px){.cmm-head{position:static}}

/* ===== Регламент логиста ===== */
.rl{max-width:900px}
.rl-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.rl-toc{margin:12px 0 4px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);padding:8px 12px}
.rl-toc summary{cursor:pointer;font-weight:600;font-size:15px}
.rl-toc-l{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:4px 16px;margin-top:8px}
.rl-toc-l a{color:var(--ink);text-decoration:none;font-size:15px;padding:3px 0}
.rl-toc-l a:hover{color:var(--accent)}
.rl-doc{font-size:17px;line-height:1.55;color:var(--ink)}
.rl-h{font-size:21px;margin:26px 0 8px;padding-top:12px;border-top:1px solid var(--line);scroll-margin-top:70px}
.rl-doc .rl-h:first-child{border-top:0;margin-top:12px}
.rl-p{margin:0 0 8px}
.rl-ul{margin:0 0 10px;padding-left:22px}
.rl-ul li{margin:3px 0}
.rl-imp{margin:10px 0;padding:10px 14px;border-left:4px solid var(--accent);background:var(--accent-soft);border-radius:6px;font-weight:600}
.rl-help{margin:8px 0;font-size:14px!important}
.rl-ta{width:100%;box-sizing:border-box;min-height:65vh;font:15px/1.5 var(--sans);padding:10px;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);color:var(--ink);resize:vertical}
@media (max-width:640px){.rl-doc{font-size:16px}.rl-h{font-size:19px}.rl-toc-l{grid-template-columns:1fr}}

/* ===== Условия KPI (таблица, вкл/выкл показателей) ===== */
.ka-cfg{margin:0 0 12px}
.ka-cfg .pr-cfg{margin-top:0;background:var(--surface)}
.kc summary .small{margin-left:6px}
.kc-base{margin:6px 0 10px}
.kc-tab td,.kc-tab th{vertical-align:middle}
.kc-tab th:not(:first-child),.kc-tab td:not(:first-child){text-align:center}
.kc-i{width:84px;text-align:center;font-size:15px}
.kc-base .kc-i{width:90px}
.kc-on{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:15px}
.kc-on input{width:18px;height:18px}
.kc-off td{opacity:.5}
.kc-off td:first-child{opacity:.8}
.kc-tab td:first-child{min-width:190px}

/* ===== Подбор мастера ===== */
.pk{max-width:1000px}
.pk-o{border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin:0 0 12px;background:var(--surface)}
.pk-oh{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:16px}
.pk-t{font-weight:700;font-size:17px}
.pk-cat{font-weight:700;padding:2px 8px;border-radius:6px;background:var(--accent-soft);color:var(--ink)}
.pk-addr{margin:6px 0 2px;font-size:15px}
.pk-area{display:inline-flex;align-items:center;gap:4px;font-weight:600;margin-left:6px}
.pk-x{border:0;background:none;cursor:pointer;color:var(--muted);font-size:14px;padding:0 2px}
.pk-note{color:var(--muted);font-size:14px;margin:2px 0}
.pk-sel{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:14px;margin:6px 0}
.pk-cs{display:grid;gap:8px;margin:10px 0 6px}
.pk-c{border:1px solid var(--line);border-radius:10px;padding:8px 10px;background:var(--surface-2)}
.pk-c:first-child{border-color:var(--work);background:var(--work-bg)}
.pk-w.ok,.pk-km.ok{border:1px solid color-mix(in srgb,var(--work) 45%,transparent)!important}
.pk-w.bad,.pk-km.bad{border:1px solid color-mix(in srgb,var(--bad) 45%,transparent)!important}
.pk-c:first-child .pk-w:not(.ok):not(.bad),.pk-c:first-child .pk-km:not(.ok):not(.bad){background:var(--surface)}
.pk-nofit{opacity:.6}
.pk-ch{display:flex;align-items:center;gap:8px;font-size:16px}
.pk-n{width:22px;height:22px;border-radius:50%;background:var(--surface);border:1px solid var(--line-strong);display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:700}
.pk-s{margin-left:auto;font-weight:700;font-size:14px;padding:1px 8px;border-radius:6px;background:var(--surface)}
.pk-s.ok{color:var(--ok)}.pk-s.bad{color:var(--bad)}
.pk-ws{display:flex;flex-wrap:wrap;gap:4px 6px;margin-top:6px}
.pk-w{font-size:13px;padding:2px 8px;border-radius:12px;background:var(--surface);border:1px solid var(--line)}
.pk-w.ok{background:var(--work-bg);border-color:transparent;color:var(--work)}
.pk-w.bad{background:var(--bad-bg);border-color:transparent;color:var(--bad)}
.pk-empty{padding:24px;text-align:center;font-size:17px}
.pk-bar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:6px 0}
.pk-sort{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:600;flex-wrap:wrap}
.pk-sort .sel{font-size:15px;max-width:100%}
.pk-h{margin:14px 0 8px;font-size:18px}
.pk-flt{display:grid;gap:8px;margin:8px 0;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2)}
.pk-flt .chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.pk-flt .chip{font-size:15px}
.pk-sep{width:1px;height:22px;background:var(--line-strong);margin:0 4px}
.pk-help{margin:4px 0 6px}.pk-help summary{cursor:pointer}
.pk-list{display:grid;gap:6px}
.pk-list .pk-o{margin:0;padding:0;overflow:hidden}
.pk-row{display:flex;align-items:center;gap:10px;width:100%;border:0;background:none;padding:10px 12px;cursor:pointer;text-align:left;font:inherit;color:inherit;font-size:16px}
.pk-row:hover{background:var(--surface-2)}
.pk-row .pk-t{min-width:54px;display:flex;flex-direction:column;line-height:1.1}
.pk-row .pk-t small{font-weight:400;font-size:12px;color:var(--muted)}
.pk-ad{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pk-best{white-space:nowrap;padding:3px 10px;border-radius:8px;background:var(--work-bg);color:var(--work);font-size:15px}
.pk-best.bad{background:var(--bad-bg);color:var(--bad)}
.pk-chev{color:var(--muted);width:14px}
.pk-o.open .pk-row{border-bottom:1px solid var(--line);background:var(--surface-2)}
.pk-body{padding:8px 12px 12px}
.pk-km{font-size:14px;font-weight:600;padding:2px 8px;border-radius:8px;border:1px solid var(--line);background:var(--surface);white-space:nowrap}
.pk-km.ok{background:var(--work-bg);border-color:transparent;color:var(--work)}
.pk-km.bad{background:var(--bad-bg);border-color:transparent;color:var(--bad)}
.pk-ch{flex-wrap:wrap}
@media (max-width:640px){.pk-row{flex-wrap:wrap;gap:6px 8px}.pk-ad{flex-basis:100%;order:5;white-space:normal}.pk-best{order:4;margin-left:auto}.pk-chev{order:3}}
.pk-warr{border-color:var(--work);border-width:2px}
.pk-wl{font-weight:700;padding:2px 8px;border-radius:6px;background:var(--work-bg);color:var(--work)}
.pk-prev{border-color:var(--work);background:var(--work-bg)}
a.pk-w{text-decoration:none;color:inherit;white-space:nowrap}
.pk-homes{margin:6px 0 10px;overflow-x:auto}
.pk-homes td{font-size:14px;vertical-align:top}
.pk-key{margin:4px 0 8px;border:1px solid var(--line);border-radius:10px;padding:8px 12px;background:var(--surface-2)}
.pk-key summary{cursor:pointer;font-size:14px}
.pk-keyb{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 6px}
.pk-keyb .inp{flex:1;min-width:220px}
.fl-tab th{font-size:12px;white-space:normal;min-width:90px;vertical-align:bottom}
.fl-tab td{text-align:center}
.fl-tab td:first-child{text-align:left;min-width:140px}
.fl-c b{display:block;font-size:14px}
.fl-c span{font-size:11px;color:var(--muted)}
.fl-c.ok{background:var(--work-bg)}.fl-c.ok b{color:var(--work)}
.fl-c.bad{background:var(--bad-bg)}.fl-c.bad b{color:var(--bad)}
.fl-c.few{opacity:.55}
.fl-s{cursor:pointer;user-select:none}
.fl-s:hover{color:var(--accent)}
.fl-cats{margin:0 0 8px;flex-wrap:wrap}
.fl-c span{white-space:nowrap}
.pk:has(.pk-fl){max-width:none}
.fl-per{margin:0 0 8px}
.fl-per .chips{flex-wrap:wrap}
.fl-dates{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:8px 0 4px}
.fl-dates label{display:flex;gap:6px;align-items:center;font-size:14px}

.ads-subname{font-size:16px;margin:8px 0 2px}

.au-pk-bg{position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px}
.au-pk{background:var(--surface);border-radius:14px;width:min(520px,100%);max-height:85vh;display:flex;flex-direction:column;box-shadow:0 10px 40px rgba(0,0,0,.25)}
.au-pk-h{display:flex;align-items:center;justify-content:space-between;padding:12px 14px 6px;font-size:17px}
.au-pk-q{margin:4px 14px 8px;font-size:16px;width:auto;box-sizing:border-box}
.au-pk-list{overflow:auto;padding:0 8px 8px;flex:1}
.au-pk-sec{padding:8px 6px 4px}
.au-pk-row{display:flex;align-items:center;gap:10px;padding:9px 8px;border-radius:8px;font-size:16px;cursor:pointer}
.au-pk-row:hover{background:var(--surface-2)}
.au-pk-row.dis{opacity:.5;cursor:default}
.au-pk-row input{width:20px;height:20px;flex:none}
.au-pk-f{padding:10px 14px;border-top:1px solid var(--line);display:flex;justify-content:flex-end}
.chip.on{background:var(--accent-soft)}
.au-x{border:0;background:none;cursor:pointer;margin-left:4px;color:var(--muted);font-size:13px}
.co-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.co-list li{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:6px 0;border-bottom:1px solid var(--line)}
/* «Поломки мастеров»: крупнее, поиск, карточка одного мастера для скриншота */
.fl-q{display:flex;gap:10px;align-items:center;margin:10px 0}
.fl-scroll{max-height:680px;border:1px solid var(--line);border-radius:12px}
.fl-scroll .fl-tab{margin:0;border:0;width:100%;border-collapse:separate;border-spacing:0}
.fl-scroll .fl-tab th{position:sticky;top:0;z-index:2;background:var(--surface-2);padding:0;min-width:120px}
.fl-scroll .fl-tab th:first-child,.fl-scroll .fl-tab td:first-child{position:sticky;left:0;background:var(--surface);min-width:170px;max-width:210px;z-index:1}
.fl-scroll .fl-tab th:first-child{z-index:3;background:var(--surface-2)}
.fl-scroll .fl-tab th:nth-child(2){min-width:74px}
.fl-sort,.fl-master{font:inherit;text-align:inherit;color:inherit;border:0;background:transparent;cursor:pointer;padding:10px 8px;width:100%;min-height:44px}
.fl-sort{font-weight:600}.fl-master{font-weight:650;padding:0;line-height:1.35}
.fl-sort:hover,.fl-master:hover{color:var(--accent)}
.fl-baseline{display:block;font-size:12px;font-weight:400;color:var(--muted);margin-top:6px;white-space:nowrap}
.fl-status{padding:8px 10px;background:var(--surface-2);border-radius:8px}
.fl-insights{display:grid;grid-template-columns:1fr 1fr;gap:16px;font-size:14px}.fl-insights p{margin:6px 0 0;line-height:1.6}
/* Прогноз недели — карточки в общей стилистике статистики. */
.wf-toolbar{margin:0;gap:10px;flex-wrap:wrap}.wf-toolbar h2{margin:0}
.wf-controls{display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin:14px 0}
.wf-week{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.wf-week>b{font-size:15px}
.wf-controls>label{display:flex;gap:8px;align-items:center}.wf-controls .inp{width:150px;min-height:40px}
.wf-cities{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:14px}
.wf-city{min-width:0;padding:18px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.wf-city-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.wf-city-head h3{margin:0;font-size:19px}.wf-pct{padding:5px 9px;border-radius:8px;font-size:13px;font-weight:650;background:var(--surface-2)}
.wf-pct.ok{color:var(--work);background:var(--work-bg)}.wf-pct.below{background:var(--accent-soft);color:var(--ink)}
.wf-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0;padding-bottom:16px;border-bottom:1px solid var(--line)}
.wf-facts dt{color:var(--muted);font-size:12px;line-height:1.4}.wf-facts dd{margin:5px 0 0;font-size:17px;font-weight:650;overflow-wrap:anywhere}
.wf-result{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between}
.wf-result>div>span{font-size:13px;color:var(--muted)}.wf-result strong{display:block;margin-top:4px;font-size:30px;line-height:1.2;letter-spacing:-.4px}
.wf-positive{color:var(--work)}.wf-progress{height:7px;border-radius:5px;background:var(--surface-2);overflow:hidden;margin-top:14px}.wf-progress i{display:block;height:100%;background:var(--accent);border-radius:inherit}.wf-progress.ok i{background:var(--work)}
.wf-plan,.wf-plan-ro{margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}
.wf-plan label,.wf-plan-ro span{display:block;color:var(--muted);font-size:13px;margin-bottom:7px}.wf-plan>div{display:flex;gap:8px}.wf-plan .inp{width:100%;min-width:0;font-size:16px}.wf-plan .small{display:block;margin-top:7px}.wf-plan-ro b{font-size:19px}
@media(max-width:600px){.fl-scroll .fl-tab th:first-child,.fl-scroll .fl-tab td:first-child{min-width:135px;max-width:145px;font-size:14px}.fl-scroll .fl-tab th{min-width:105px}.fl-q{flex-wrap:wrap}.fl-q .inp{min-width:0;max-width:none}.fl-insights{grid-template-columns:1fr}.fl-card{padding:12px}.fl-card-n{font-size:19px}.wf-city{padding:14px}.wf-facts{gap:8px}.wf-facts dd{font-size:15px}.wf-result strong{font-size:28px}.wf-controls{gap:10px}.wf-week{gap:6px}.wf-week>b{font-size:14px}.wf-week .btn{padding:7px 10px}}
.fl-q .inp{flex:1;max-width:420px;font-size:16px;padding:10px 12px}
.fl-tab th{font-size:14px;min-width:110px}
.fl-tab td{padding:10px 8px}
.fl-tab td:first-child{min-width:190px;font-size:15px}
.fl-c b{font-size:17px}
.fl-c span{font-size:13px}
.fl-card{border:1px solid var(--line-strong);border-radius:14px;padding:16px 18px;margin:0 0 14px;background:var(--surface)}
.fl-card-h{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:10px}
.fl-card-n{font-size:22px;font-weight:700}
.fl-card-t{text-align:right}.fl-card-t b{display:block;font-size:28px}.fl-card-t span{color:var(--muted);font-size:13px}
.fl-card-tab{width:100%;border-collapse:collapse;font-size:16px}
.fl-card-tab th{text-align:left;font-size:13px;color:var(--muted);font-weight:500;padding:6px 8px;border-bottom:1px solid var(--line)}
.fl-card-tab td{padding:9px 8px;border-bottom:1px solid var(--line)}
.fl-card-tab tr.ok td{background:var(--work-bg)}.fl-card-tab tr.bad td{background:var(--bad-bg)}
.fl-card-tab td b{font-size:18px}
.pk.pk-fl{max-width:none}
.fl-c.mid{background:var(--part-bg)}.fl-c.mid b{color:var(--part)}
.fl-card-tab tr.mid td{background:var(--part-bg)}
.fl-lg{display:inline-block;padding:0 6px;border-radius:6px;font-weight:600}
.fl-lg.bad{background:var(--bad-bg);color:var(--bad)}.fl-lg.mid{background:var(--part-bg);color:var(--part)}.fl-lg.ok{background:var(--work-bg);color:var(--work)}
.cf-need{font-size:12px;margin-top:2px;padding:1px 8px;border-radius:999px;display:inline-block}
.cf-need.ok{background:var(--work-bg);color:var(--work)}.cf-need.bad{background:var(--bad-bg);color:var(--bad)}
.co-ex{opacity:.7}
.ka-lock{display:block;font-size:11px;color:var(--muted);margin-top:2px}
.ka-lock.wait{color:var(--part)}

/* ===== Быстрая панель: филиал + вкладки + наверх (05.11.2026) ===== */
.qbar{position:fixed;left:0;right:0;top:0;z-index:35;display:flex;align-items:center;gap:8px;padding:6px 16px;background:var(--surface,#fff);
  border-bottom:1px solid var(--line-strong);box-shadow:0 2px 10px rgba(0,0,0,.08)}
.qbar[hidden],.qsheet[hidden],.totop[hidden]{display:none!important}
.qbar .sel{width:auto;max-width:240px;min-height:36px;font-weight:600}
.qbtn{font:inherit;font-weight:600;font-size:15px;color:var(--ink);background:var(--surface-2,#f6f8fb);border:1px solid var(--line-strong);border-radius:10px;
  min-height:36px;padding:6px 12px;cursor:pointer;display:inline-flex;align-items:center;gap:8px}
.qtabs{max-width:420px}.qtabs-cur{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.qtabs-arr{color:#7a8794;font-size:12px}
.qtop{margin-left:auto;font-size:18px;padding:6px 14px}
.qsheet{position:fixed;z-index:36;top:50px;left:16px;width:min(760px,calc(100vw - 32px));max-height:calc(100vh - 70px);overflow:auto;background:var(--surface,#fff);
  border:1px solid var(--line);border-radius:12px;padding:10px;box-shadow:0 12px 32px rgba(0,0,0,.18);display:flex;flex-direction:column;gap:8px}
.qsheet .tabgrp-l{padding:0 2px 3px;font-size:11px}
.qsheet .tabsheet-b{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:5px}
.qsheet .tabtile{display:flex;align-items:center;gap:6px;font:inherit;font-size:14px;line-height:1.2;font-weight:600;color:var(--ink);background:#f6f8fb;border:1px solid #dfe5ec;
  border-radius:8px;padding:7px 8px;text-align:left;cursor:pointer;min-height:36px}
.qsheet .tabtile[aria-selected="true"]{background:#fff3ea;border-color:var(--accent);color:var(--accent)}
.qsheet .tabtile .tab-ico{font-size:16px;margin:0;flex:none}
.totop{position:fixed;right:20px;bottom:24px;z-index:35;width:48px;height:48px;border-radius:50%;border:1px solid var(--line-strong);background:var(--surface,#fff);
  color:var(--ink);font-size:22px;font-weight:700;box-shadow:0 4px 14px rgba(0,0,0,.18);cursor:pointer}
.totop:hover,.qbtn:hover{border-color:var(--accent)}
/* телефон: панель внизу, всегда под пальцем */
.qbar.qbar-mob{top:auto;bottom:0;padding:8px 10px calc(8px + env(safe-area-inset-bottom));border-bottom:0;border-top:1px solid var(--line-strong);box-shadow:0 -2px 12px rgba(0,0,0,.1);gap:6px}
.qbar.qbar-mob .sel{flex:1 1 40%;max-width:none;min-width:0;min-height:44px;font-size:15px}
.qbar.qbar-mob .qtabs{flex:1 1 45%;max-width:none;min-width:0;min-height:44px;justify-content:flex-start}
.qbar.qbar-mob .qtop{margin-left:0;min-height:44px;flex:none}
.qsheet.qsheet-mob{top:auto;left:8px;right:8px;width:auto;bottom:calc(64px + env(safe-area-inset-bottom));max-height:70vh}
.qsheet.qsheet-mob .tabsheet-b{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}
.qsheet.qsheet-mob .tabtile{font-size:12.5px;padding:5px 6px;min-height:34px}
@media (max-width:700px){body.has-qbar-mob{padding-bottom:calc(76px + env(safe-area-inset-bottom))}
  body.has-qbar-mob .tabs{position:static}}
:root[data-theme="dark"] .qsheet .tabtile{background:var(--surface-2);border-color:var(--line)}
:root[data-theme="dark"] .qbar,:root[data-theme="dark"] .qsheet,:root[data-theme="dark"] .totop{background:var(--surface)}

body.has-qbar-mob .toast{bottom:calc(84px + env(safe-area-inset-bottom,0px))}
.qbar:not(.qbar-mob) .qtop{display:none}
/* ПК: панель справа (Руслан, 05.11.2026: «удобнее справа») */
.qbar:not(.qbar-mob){justify-content:flex-end}
.qsheet:not(.qsheet-mob){left:auto;right:16px}

/* Контроль «требует внимания» */
tr.ac-late td{background:#fff1f0}
:root[data-theme="dark"] tr.ac-late td{background:rgba(220,60,60,.12)}
.st.ok{background:var(--work-bg);color:var(--work)}
.st.bad{background:var(--bad-bg);color:var(--bad)}
.ac-ess{min-width:220px;max-width:420px;font-weight:600;white-space:normal}
tr.ac-ok td{background:#eaf7ee}
:root[data-theme="dark"] tr.ac-ok td{background:rgba(40,160,90,.14)}
.ac-green{display:inline-block;margin:0 0 3px;padding:2px 8px;border-radius:6px;background:#1e8a57;color:#fff;font-weight:700;font-size:12px}
/* 08.11.2026: «ср. смены» в строке направления графика */
.grp td.day{padding:4px 1px;text-align:center;letter-spacing:0;text-transform:none}
.grp td.shavg-l{font-size:10px;text-align:right;padding:4px 6px;text-transform:none;letter-spacing:0;color:var(--faint)}
.shavg{display:inline-block;font-size:10.5px;font-weight:600;padding:1px 3px;border-radius:4px;white-space:nowrap}
.shavg.ok{background:var(--work-bg);color:var(--work)}
.shavg.bad{background:var(--bad-bg);color:var(--bad)}

/* 09.11.2026: «Средний за 4 недели» — крупно и читаемо, удобно скринить шапку + город */
.w4-nav{display:flex;align-items:center;gap:8px}.w4-nav b{font-size:15px;white-space:nowrap}
.w4tab{width:100%;border-collapse:collapse;font-size:15px;color:var(--ink)}
.w4tab th,.w4tab td{border-bottom:1px solid var(--line);padding:10px 12px}
.w4tab thead th{background:var(--surface-2);font-size:15px;font-weight:700;text-align:center;line-height:1.3}
.w4tab .w4-dt{font-size:14px;font-weight:600;color:var(--ink);margin-top:2px}
.w4tab .w4-run{font-size:12px;font-weight:600;color:var(--muted)}
.w4tab .w4-city{text-align:left;font-size:16px;font-weight:700;white-space:nowrap}
.w4tab td.w4-city{display:flex;align-items:center;gap:8px;border-bottom:0}
.w4tab tr{border-bottom:1px solid var(--line)}
.w4tab .w4-c{text-align:center;min-width:110px}
.w4tab .w4-v{font-size:20px;font-weight:700;line-height:1.2}
.w4tab .w4-d .cf-d{font-size:14px;padding:2px 9px;margin-top:4px}
.w4tab .of-agg td{background:var(--surface-2)}
.w4-mv{display:inline-flex;gap:2px}
.w4-mv button{border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:6px;width:26px;height:26px;font-size:14px;cursor:pointer;padding:0}
.w4-mv button:disabled{opacity:.3;cursor:default}
@media (max-width:700px){.w4tab{font-size:14px}.w4tab th,.w4tab td{padding:8px 6px}.w4tab .w4-v{font-size:17px}.w4tab .w4-c{min-width:84px}}
.w4tab thead th[data-w4sort]{cursor:pointer;user-select:none}.w4tab thead th.on{background:var(--work-bg)}

/* 09.11.2026: «Анализ СД» */
.sda-sum tr.on td{background:var(--work-bg)}
.sda-list td{font-size:14px;vertical-align:top}.sda-list .bad{color:var(--bad)}
.sda-note{max-width:520px;line-height:1.35}.sda-note mark{background:#FFE8A3;color:#111;padding:0 2px;border-radius:3px}
.sda-k{display:inline-block;background:var(--bad-bg);color:var(--bad);border-radius:6px;padding:1px 6px;font-size:12.5px;font-weight:600;margin:1px 0}
.sda-st{background:#fff4d6;color:#8a5a00}

/* Прогноз кассы города и региона — в сводке и недельной статистике. */
.pwf-overview{margin:0 0 20px}.pwf-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 2px 12px}.pwf-toolbar>div{display:grid;gap:3px}.pwf-toolbar b{font-size:16px}
.pwf-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:16px}
.wf-cash-card{min-width:0;padding:22px;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:0 6px 24px rgba(15,23,42,.04);margin-bottom:16px;color:var(--ink)}
.pwf-cards>.wf-cash-card{margin-bottom:0}.wf-cash-card.wf-region{background:linear-gradient(130deg,var(--accent-soft),var(--surface) 62%);border-color:var(--accent)}
.wf-cash-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.wf-cash-eyebrow{color:var(--muted);font-size:12px;margin-bottom:6px}.wf-cash-head h2,.wf-cash-card>h2{font-size:20px;line-height:1.3;margin:0;font-weight:700}
.wf-cash-pct{padding:6px 10px;border-radius:20px;background:var(--surface-2);font-size:13px;font-weight:650;white-space:nowrap}.wf-cash-pct.ok{color:var(--work);background:var(--work-bg)}
.wf-cash-main{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:23px}.wf-cash-label{font-size:13px;color:var(--muted);margin-bottom:6px}.wf-cash-value{font-size:36px;line-height:1.15;letter-spacing:-1px;font-weight:700;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.wf-cash-gap{font-size:12px;color:var(--muted);line-height:1.5}.wf-cash-gap b{display:block;font-size:16px;color:var(--ink)}.wf-cash-gap.ok b{color:var(--work)}
.wf-cash-facts{display:grid;grid-template-columns:1fr 1fr;gap:16px 12px;margin:22px 0 0;padding-top:18px;border-top:1px solid var(--line)}.wf-cash-facts>div:last-child{grid-column:1/-1;display:flex;justify-content:space-between;gap:10px;align-items:baseline}.wf-cash-facts dt{font-size:12px;color:var(--muted);line-height:1.4}.wf-cash-facts dd{margin:5px 0 0;font-size:19px;font-weight:650;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.wf-cash-facts>div:last-child dd{font-size:14px;margin:0}
.wf-cash-notes{background:var(--surface-2);border-radius:10px;padding:10px 12px;margin-top:14px;font-size:13px;line-height:1.5}.wf-cash-notes p{margin:0}.wf-cash-notes p+p{margin-top:6px}
.wf-region-plan{margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}
.pick-panel{max-width:1150px;margin-inline:auto;min-width:0}.pick-head{flex-wrap:wrap;gap:10px}.pick-head h2{margin:0 0 4px}.pick-controls{flex-wrap:wrap;gap:12px}.pick-controls label{display:flex;align-items:center;gap:8px}
.pick-order-label{display:block;font-size:14px;font-weight:600;margin:20px 0 16px}.pick-order-label .sel{display:block;width:100%;max-width:100%;margin-top:8px;min-width:0;text-overflow:ellipsis}
.pick-order{border:1px solid var(--line);border-radius:16px;padding:20px;margin-top:16px;min-width:0}.pick-order-head,.pick-master-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.pick-order-head h3{margin:0;font-size:18px}.pick-offer{display:inline-block;padding:5px 9px;border-radius:7px;background:var(--accent-soft);margin-left:6px}.pick-address{margin:12px 0 7px;font-size:16px;overflow-wrap:anywhere}.pick-note{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--muted);font-size:13px;line-height:1.55;margin:8px 0}.pick-kind{display:inline-block;border:1px solid var(--line);border-radius:18px;padding:4px 10px;color:var(--muted);font-size:12px}.pick-section-title{margin:20px 0 12px;font-size:15px}
.pick-list{display:grid;gap:10px}.pick-master{background:var(--surface-2);border:1px solid var(--line);border-radius:12px;padding:13px 15px;min-width:0}.pick-master.pick-best{background:var(--work-bg);border-color:var(--work)}.pick-master.pick-other{opacity:.82}.pick-master-head b{display:flex;align-items:center;gap:8px;font-size:16px;overflow-wrap:anywhere}.pick-rank{display:inline-grid;place-items:center;flex:0 0 24px;height:24px;border-radius:50%;background:var(--surface);font-size:12px;font-style:normal}.pick-score{padding:4px 8px;background:var(--surface);border-radius:6px;font-weight:700;font-size:14px;font-variant-numeric:tabular-nums}.pick-pills{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.pick-pills>span{background:var(--surface);border-radius:16px;padding:4px 8px;font-size:12px;line-height:1.45}.pick-pills>span.warn{background:var(--bad-bg);color:var(--bad)}.pick-pills b{font-weight:600}.pick-experience{margin-top:9px;font-size:13px}.pick-experience.strong{color:var(--work)}.pick-experience.weak,.pick-warnings{color:var(--bad)}.pick-reasons,.pick-warnings{font-size:12px;line-height:1.5;margin-top:8px;overflow-wrap:anywhere}.pick-reasons{color:var(--muted)}.pick-all{margin-top:16px}.pick-all summary{cursor:pointer;font-size:14px;font-weight:600;padding:8px 0}.pick-all .pick-list{margin-top:9px}.pick-empty{padding:30px 12px;text-align:center}.pick-empty p{font-size:14px}.pick-notes{margin-top:18px;line-height:1.55}
@media(max-width:600px){.pick-order{padding:13px;border-radius:12px}.pick-master{padding:12px}.pick-master-head b{font-size:15px}.pick-pills{gap:5px}.pick-pills>span{font-size:11px}.pick-head>div{flex:1}.pick-head .spacer{display:none}.pick-controls .chips{gap:6px}.pick-controls .chip{font-size:13px}.pick-order-label{font-size:13px}.pick-order-head h3{font-size:17px}.wf-region-plan>div{flex-wrap:wrap}.wf-region-plan .inp{min-width:0;max-width:100%}}
.wf-cash-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:16px;font-size:12px;color:var(--muted);line-height:1.5}.wf-cash-footer>span{flex:1;min-width:170px}.wf-cash-footer .btn{white-space:nowrap}
@media(max-width:600px){.wf-cash-card{padding:16px;border-radius:15px}.wf-cash-head h2{font-size:18px}.wf-cash-value{font-size:31px}.wf-cash-facts dd{font-size:17px}.pwf-toolbar b{font-size:14px}.pwf-toolbar .btn{padding:7px 10px}.wf-cash-main{margin-top:18px}.wf-cash-facts{gap:12px}.wf-cash-eyebrow{font-size:11px}}

/* Локальный журнал Omni: не загружается до раскрытия, таблица прокручивается внутри карточки. */
.oj-panel{margin-top:20px;padding-top:20px;border-top:1px solid var(--line);min-width:0;max-width:100%}
.oj-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.oj-heading h3{margin:0;font-size:17px;line-height:1.35}.oj-heading p{margin:5px 0 0}.oj-heading .btn{white-space:nowrap}
#omniJournalContent{min-width:0;max-width:100%}.oj-controls{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:18px}.oj-controls label{display:flex;align-items:center;gap:9px;font-size:13px}.oj-controls .sel{min-width:0;max-width:100%;font-size:13px}.oj-controls .oj-check{gap:7px}.oj-check input{width:16px;height:16px;flex:0 0 16px;accent-color:var(--accent)}
.oj-live{font-size:12px;color:var(--muted);line-height:1.5;margin-top:12px;min-height:18px}.oj-warning{font-size:13px;line-height:1.55;margin:12px 0;overflow-wrap:anywhere}
.oj-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:16px}.oj-summary>div{display:flex;flex-direction:column;gap:6px;min-width:0;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);padding:15px}.oj-summary span{font-size:12px;color:var(--muted);line-height:1.4}.oj-summary b{font-size:28px;line-height:1.2;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.oj-summary em{font-style:normal;font-size:12px;font-weight:500;white-space:nowrap}.oj-summary small{font-size:11px;color:var(--muted);line-height:1.4}.oj-summary .oj-summary-alert{background:var(--bad-bg)}.oj-summary-alert b{color:var(--bad)}
.oj-note{font-size:12px;color:var(--muted);line-height:1.6;margin:12px 0;overflow-wrap:anywhere}.oj-last{margin-top:16px;padding:16px;border:1px solid var(--line);border-left:4px solid var(--bad);border-radius:10px}.oj-last>b{font-size:14px}.oj-last dl{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px 20px;margin:16px 0 0}.oj-last dt{font-size:12px;color:var(--muted);line-height:1.5}.oj-last dd{font-size:13px;line-height:1.55;margin:4px 0 0;overflow-wrap:anywhere}.oj-last dd small{display:block;color:var(--muted);font-size:12px}.oj-last code{font-size:12px;white-space:normal;overflow-wrap:anywhere}.oj-last .oj-note{margin-bottom:0}
.oj-chart{padding:16px 0;margin-top:14px;min-width:0}.oj-chart-title{display:flex;align-items:baseline;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-bottom:16px}.oj-chart-title b{font-size:13px}.oj-chart-title .small{font-size:11px}.oj-bars{display:flex;align-items:stretch;gap:2px;height:90px;border-bottom:1px solid var(--line);background:repeating-linear-gradient(to top,transparent,transparent 29px,var(--line) 30px);min-width:0}.oj-bar-slot{flex:1;min-width:0;display:flex;align-items:flex-end;height:100%}.oj-bar-slot i{display:block;width:100%;background:var(--accent);border-radius:2px 2px 0 0}.oj-bar-slot i.oj-bar-429{background:var(--bad)}.oj-chart-axis{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px;font-size:10px;color:var(--muted);font-variant-numeric:tabular-nums}.oj-chart-axis i{display:inline-block;background:var(--bad);width:7px;height:7px;border-radius:2px}
.oj-table-wrap{width:100%;max-width:100%;min-width:0;overflow-x:auto;border:1px solid var(--line);border-radius:10px;margin-top:10px;overscroll-behavior-x:contain}.oj-table-wrap:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.oj-table{width:100%;min-width:870px;border-collapse:collapse;font-size:12px}.oj-table th{background:var(--surface-2);color:var(--muted);text-align:left;font-size:11px;font-weight:600;white-space:nowrap;padding:10px 12px;border-bottom:1px solid var(--line)}.oj-table td{padding:11px 12px;border-bottom:1px solid var(--line);vertical-align:top;font-variant-numeric:tabular-nums}.oj-table tr:last-child td{border-bottom:0}.oj-table .oj-row-429 td{background:var(--bad-bg)}.oj-time{white-space:nowrap}.oj-table small{display:block;color:var(--muted);font-size:10px;line-height:1.5;margin-top:4px}.oj-route{min-width:230px;max-width:370px}.oj-route code{font-size:11px;white-space:normal;overflow-wrap:anywhere}.oj-route small{overflow-wrap:anywhere}.oj-status{display:inline-block;max-width:140px;overflow-wrap:anywhere;line-height:1.4}.oj-status-429{font-weight:700;color:var(--bad)}.oj-empty{padding:25px 12px;text-align:center;color:var(--muted);font-size:13px;line-height:1.6;background:var(--surface-2);border-radius:10px;margin:14px 0}.oj-retention{border-top:1px solid var(--line);padding-top:12px;margin-bottom:0}
@media(max-width:850px){.oj-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.oj-heading{align-items:flex-start}.oj-heading h3{font-size:16px}.oj-heading p{font-size:12px}.oj-heading .btn{padding:7px 10px}.oj-controls{gap:12px}.oj-controls>label:first-child{flex:1}.oj-controls .oj-check{font-size:12px}.oj-controls>.btn{width:100%}.oj-summary>div{padding:12px;gap:5px}.oj-summary b{font-size:23px}.oj-summary em{display:block;margin-top:2px;font-size:11px}.oj-summary span{font-size:11px}.oj-last{padding:12px}.oj-last dl{grid-template-columns:1fr;gap:12px}.oj-last>b{font-size:13px}.oj-chart-title{display:grid;gap:5px}.oj-bars{gap:1px}.oj-chart-axis{font-size:9px;gap:5px}.oj-chart-axis>span:nth-child(2){text-align:center}.oj-panel .oj-note{font-size:11px}}
/* Быстрый локальный статус автоматической передачи графика. */
.gs-panel{padding:16px 18px;margin-bottom:10px;min-width:0;max-width:100%;overflow-wrap:anywhere}
.gs-head{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}.gs-head>div:first-child{min-width:0;flex:1}.gs-head b{font-size:15px}
.gs-status{font-size:13px;font-weight:600;margin-top:6px;line-height:1.45}.gs-done{color:var(--work)}.gs-error{color:var(--bad)}.gs-waiting,.gs-idle{color:var(--muted)}
.gs-actions{display:flex;gap:8px;flex-wrap:wrap}.gs-actions .btn{min-height:36px;white-space:normal}
.gs-note,.gs-warning{font-size:12px;line-height:1.6;margin:9px 0 0}.gs-note{color:var(--muted)}.gs-warning{color:var(--bad)}
.gs-errors{border-top:1px solid var(--line);margin-top:12px;padding-top:9px}.gs-errors summary{cursor:pointer;font-size:13px;font-weight:600;padding:4px 0}.gs-errors ul{list-style:none;padding:0;margin:8px 0 0}.gs-errors li{padding:8px 0;font-size:12px;line-height:1.6}.gs-errors li+li{border-top:1px solid var(--line)}.gs-errors li b,.gs-errors li span{display:block}.gs-errors li span{color:var(--muted)}
@media(max-width:600px){.gs-panel{padding:13px}.gs-head{gap:12px}.gs-head>div:first-child{flex-basis:100%}.gs-actions{width:100%}.gs-actions .btn{flex:1;min-width:120px;min-height:42px;font-size:12px}}
