/* SOKL Event CRM. Основа — строгий стиль English Room (графит, светло-серый фон, белые карточки 14px),
   фирменный жёлтый SOKL Event — только акценты: главная кнопка, активный пункт меню, прогресс. */
:root{
  --bg:#F4F5F7;--card:#fff;--soft:#F8F9FA;--ink:#15171C;--ink2:#3A3E49;--mut:#6B7180;--mut2:#9AA0AC;--line:#E4E6EB;--line2:#EFF0F3;--lineh:#CFD3DA;
  --acc:#FCDA54;--acc2:#FFF3C4;--acc3:#FFFAE6;--accb:#EDC530;--accd:#6E5300;--onacc:#15171C;
  --ok:#1E8E55;--okb:#E3F5EA;--warn:#A86400;--warnb:#FFF1D6;--bad:#C83B3B;--badb:#FBE4E4;--info:#2C6CD0;--infob:#E8EFFB;
  --pink:#D9468F;--pinkb:#FCE7F1;--chart:#2C6CD0;--chart2:#DCE6F7;--track:#ECEEF1;
  --sh:0 1px 2px rgba(20,23,28,.05);--shm:0 12px 40px rgba(20,23,28,.16);--r:14px;
  --f:'Onest',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Arial,sans-serif;--fd:'Unbounded','Onest',sans-serif;
  color-scheme:light;
}
:root[data-theme=dark]{
  --bg:#0F1115;--card:#181B21;--soft:#1C2027;--ink:#ECEEF2;--ink2:#C3C8D1;--mut:#8E95A3;--mut2:#6A7180;--line:#2A2E37;--line2:#22262E;--lineh:#3A3F4A;
  --acc:#FCDA54;--acc2:#3A3418;--acc3:#25231A;--accb:#FCDA54;--accd:#FCDA54;--onacc:#15171C;
  --ok:#4CC38A;--okb:#163024;--warn:#E8B04B;--warnb:#352A12;--bad:#F07171;--badb:#3A1C1F;--info:#8AB0F7;--infob:#1A2540;
  --pink:#F08CBF;--pinkb:#3A1D2C;--chart:#5B8DE6;--chart2:#22304A;--track:#262A32;
  --sh:none;--shm:0 12px 40px rgba(0,0,0,.5);color-scheme:dark;
}
[hidden]{display:none!important}
*{box-sizing:border-box}
html,body{margin:0;height:100%}
body{font-family:var(--f);font-size:14px;line-height:1.42;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
svg.i{width:18px;height:18px;flex:none;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
svg.i.s{width:15px;height:15px}
svg.i.xs{width:13px;height:13px}
.num{font-variant-numeric:tabular-nums}
.mut{color:var(--mut)}.mut2{color:var(--mut2)}.ok{color:var(--ok)}.bad{color:var(--bad)}.warn{color:var(--warn)}
.nowrap{white-space:nowrap}.ell{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.grow{flex:1;min-width:0}
.row{display:flex;align-items:center;gap:8px}.row.wrap{flex-wrap:wrap}.row.top{align-items:flex-start}.col{display:flex;flex-direction:column;gap:16px;min-width:0}
.sp{margin-left:auto}

/* ---------- вход */
.login{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(1200px 500px at 80% -10%,var(--acc3),transparent),var(--bg)}
.login form{width:100%;max-width:380px;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:30px 28px;display:flex;flex-direction:column;gap:14px;box-shadow:var(--shm)}
.login .logo{width:170px;color:var(--ink);margin:0 auto 4px}
.login h1{font-family:var(--fd);font-size:17px;font-weight:600;text-align:center;margin:0 0 6px;letter-spacing:-.2px}
.login .err{color:var(--bad);font-size:13px;min-height:18px;margin:0}

/* ---------- каркас */
.app{display:flex;min-height:100vh}
.side{width:236px;flex:none;background:var(--card);border-right:1px solid var(--line);display:flex;flex-direction:column;padding:18px 12px 14px;position:sticky;top:0;height:100vh;overflow-y:auto;z-index:20}
.brand{display:flex;align-items:center;gap:10px;padding:2px 8px 16px}
.brand .logo{width:104px;color:var(--ink)}
.brand .crm{font-size:10.5px;font-weight:700;letter-spacing:1.4px;color:var(--mut2);border:1px solid var(--line);border-radius:6px;padding:2px 6px}
.nav{display:flex;flex-direction:column;gap:1px}
.nav .grp{font-size:10.5px;font-weight:700;letter-spacing:1.3px;text-transform:uppercase;color:var(--mut2);margin:14px 10px 5px}
.nav a{display:flex;align-items:center;gap:11px;padding:8px 10px;border-radius:9px;color:var(--ink2);font-size:13.5px;font-weight:500;position:relative}
.nav a:hover{background:var(--soft)}
.nav a.on{background:var(--acc2);color:var(--ink);font-weight:650}
.nav a.on::before{content:"";position:absolute;left:-12px;top:7px;bottom:7px;width:3px;border-radius:0 3px 3px 0;background:var(--accb)}
.nav a.on svg{color:var(--accd)}
/* «Сделки» — главная вкладка: тонкая рамка без заливки (Роман, 2026-10-23) */
.nav a[data-nav="#/deals"]{box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--accb) 50%,var(--line));margin:2px 0}
.nav a[data-nav="#/deals"] span{font-weight:650}
.nav .bd{margin-left:auto;font-size:11px;font-weight:700;border-radius:10px;padding:1px 7px;background:var(--bad);color:#fff;font-variant-numeric:tabular-nums}
.nav .bd.g{background:var(--line);color:var(--ink2)}
/* стикер NEW в стиле наклеек SOKL: розовый, чёрный контур, жёсткая тень, наклон */
.new-st{margin-left:auto;font-family:var(--fd);font-weight:800;font-size:9.5px;letter-spacing:.05em;line-height:1.4;background:#FAA1E5;color:#0A0B0C;
  border:1.5px solid #0A0B0C;border-radius:7px;padding:1px 6px;transform:rotate(-8deg);box-shadow:2px 2px 0 #0A0B0C;white-space:nowrap}
.new-st.big{display:inline-block;font-size:12px;padding:2px 8px;vertical-align:middle;margin-left:8px;transform:rotate(-6deg) translateY(-3px)}
.nav a .new-st+.bd{margin-left:6px}
/* конструктор приглашения */
.inv-ed{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:18px;align-items:start}
.inv-prev{position:sticky;top:76px;display:flex;flex-direction:column;gap:14px}
.inv-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px;display:flex;justify-content:center}
.inv-card canvas{display:block;border-radius:6px;box-shadow:0 8px 28px rgba(20,23,28,.14);max-width:100%;height:auto}
@media (max-width:1000px){.inv-ed{grid-template-columns:1fr}.inv-prev{position:static}}
.side .foot{margin-top:auto;padding-top:14px}
.me{display:flex;align-items:center;gap:10px;padding:8px;border-radius:10px;cursor:pointer;border:1px solid var(--line)}
.me:hover{background:var(--soft)}
.me b{display:block;font-size:13px;line-height:1.2}.me .grow span{font-size:11.5px;color:var(--mut)}
.av{width:30px;height:30px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:11.5px;color:#fff;flex:none;background:var(--mut)}
.av.sm{width:22px;height:22px;font-size:9.5px}
.av.lg{width:44px;height:44px;font-size:15px}
.mainw{flex:1;min-width:0;display:flex;flex-direction:column}
.top{height:60px;background:var(--card);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:12px;padding:0 24px;position:sticky;top:0;z-index:15}
.burger{display:none}
.search{position:relative;flex:1;max-width:460px}
.search input{width:100%;height:38px;border:1px solid var(--line);border-radius:10px;background:var(--soft);padding:0 12px 0 36px;outline:none}
.search input:focus{border-color:var(--lineh);background:var(--card)}
.search>svg{position:absolute;left:11px;top:10px;color:var(--mut2)}
.search .res{position:absolute;top:44px;left:0;right:0;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shm);padding:6px;max-height:70vh;overflow:auto}
.search .res .h{font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--mut2);padding:8px 10px 4px}
.search .res a{display:flex;gap:10px;align-items:center;padding:8px 10px;border-radius:8px}
.search .res a:hover,.search .res a.on{background:var(--soft)}
.top .acts{margin-left:auto;display:flex;align-items:center;gap:8px}
.ib{width:36px;height:36px;border-radius:9px;border:1px solid var(--line);background:var(--card);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--ink2);position:relative;flex:none}
.ib:hover{border-color:var(--lineh)}
.ib.s{width:30px;height:30px;border-radius:8px}
.ib.ghost{border-color:transparent;background:transparent}
.ib.ghost:hover{background:var(--soft)}
.ib .dot{position:absolute;top:-4px;right:-4px;min-width:17px;height:17px;border-radius:9px;background:var(--bad);color:#fff;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 4px;border:2px solid var(--card)}
main{padding:24px 24px 60px;width:100%;max-width:1480px;display:flex;flex-direction:column;gap:18px}
.head{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap}
.head h1{margin:0;font-family:var(--fd);font-size:22px;font-weight:600;letter-spacing:-.3px;line-height:1.2}
.head .sub{color:var(--mut);margin-top:5px;font-size:13.5px}
.head .acts{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.crumb{display:inline-flex;align-items:center;gap:4px;color:var(--mut);font-size:13px;margin-bottom:6px}
.crumb:hover{color:var(--ink)}

/* ---------- кнопки, поля */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:36px;padding:0 14px;border-radius:9px;border:1px solid var(--line);background:var(--card);font-weight:600;font-size:13.5px;cursor:pointer;white-space:nowrap;color:var(--ink)}
.btn:hover{border-color:var(--lineh);background:var(--soft)}
.btn.p{background:var(--acc);border-color:var(--accb);color:var(--onacc)}
.btn.p:hover{background:var(--accb)}
.btn.y{background:var(--acc2);border-color:color-mix(in srgb,var(--accb) 40%,var(--acc2));color:var(--ink)}
.btn.y:hover{background:var(--acc);border-color:var(--accb)}
.btn.y svg{color:var(--accd)}
.btn.y:hover svg{color:var(--ink)}
.btn.d{color:var(--bad)}
.btn.d:hover{background:var(--badb);border-color:var(--badb)}
.btn.g{border-color:transparent;background:transparent}
.btn.g:hover{background:var(--soft)}
.btn.s{height:30px;padding:0 10px;font-size:12.5px;border-radius:8px;gap:5px}
.btn.xs{height:26px;padding:0 8px;font-size:12px;border-radius:7px;gap:4px}
.btn:disabled{opacity:.5;cursor:default}
.btn.warn{color:#E0563A;border-color:#F6C9BC;background:#FFF3EF}
.btn.wa{color:#128C4A}.btn.tg{color:#1F8ACB}
label.f{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:600;color:var(--mut);min-width:0}
label.f.c2{grid-column:span 2}label.f.full{grid-column:1/-1}
.in,select.in,textarea.in{width:100%;height:36px;border:1px solid var(--line);border-radius:9px;background:var(--card);padding:0 10px;outline:none;font-size:13.5px;color:var(--ink);font-weight:400;min-width:0}
textarea.in{height:auto;min-height:74px;padding:9px 10px;resize:vertical;line-height:1.45}
.in:focus{border-color:var(--accb);box-shadow:0 0 0 3px var(--acc3)}
.in.s{height:30px;font-size:12.5px;padding:0 8px;border-radius:8px}
.in.bare{border-color:transparent;background:transparent;padding:0 6px}
.in.bare:hover{border-color:var(--line)}
.in.bare:focus{border-color:var(--accb);background:var(--card)}
.fg{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px 14px}
.fg.two{grid-template-columns:1fr 1fr}
.chk{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:13.5px;color:var(--ink);font-weight:500}
.chk input{width:16px;height:16px;accent-color:var(--ink)}
.seg{display:inline-flex;background:var(--line2);border-radius:10px;padding:3px;gap:2px;flex-wrap:wrap}
.seg button{border:0;background:transparent;height:28px;padding:0 12px;border-radius:8px;font-size:12.5px;font-weight:600;color:var(--mut);cursor:pointer;white-space:nowrap}
.seg button.on{background:var(--card);color:var(--ink);box-shadow:0 1px 2px rgba(20,23,28,.1)}
.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.tabs a,.tabs button{border:0;background:none;padding:10px 12px;font-weight:600;color:var(--mut);border-bottom:2px solid transparent;margin-bottom:-1px;cursor:pointer;font-size:13.5px;display:inline-flex;gap:6px;align-items:center}
.tabs .on{color:var(--ink);border-bottom-color:var(--ink)}
.tabs .n{font-size:11px;background:var(--line2);border-radius:8px;padding:0 6px;color:var(--mut)}

/* ---------- карточки, списки */
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:18px 20px;min-width:0;box-shadow:var(--sh)}
.card.np{padding:0}
.card>h2,.card .h2{margin:0 0 12px;font-size:15px;font-weight:700;display:flex;align-items:center;gap:8px;letter-spacing:-.1px}
.card>h2 .r,.card .h2 .r{margin-left:auto;display:flex;gap:6px;align-items:center;font-weight:500;font-size:12.5px;color:var(--mut)}
.card>h2 .c{font-size:12px;color:var(--mut);font-weight:600;background:var(--line2);border-radius:8px;padding:0 7px}
.grid2{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:18px;align-items:start}
.grid2.even{grid-template-columns:1fr 1fr}
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start}
.li{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--line2);min-width:0}
.li:first-child{border-top:0;padding-top:2px}
.li:last-child{padding-bottom:0}
.li .t{flex:1;min-width:0}
.li .t b{display:block;font-size:13.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.li .t span{display:block;font-size:12.5px;color:var(--mut);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.li .t span.wr{white-space:normal}
a.li:hover b,.li a.lk:hover{text-decoration:underline;text-decoration-color:var(--accb);text-decoration-thickness:2px;text-underline-offset:3px}
.qi{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex:none;background:var(--soft);color:var(--ink2);font-weight:700;font-size:12px;line-height:1.05;text-align:center}
.qi.d{flex-direction:column;font-size:15px}.qi.d small{font-size:9px;font-weight:700;text-transform:uppercase;color:var(--mut);letter-spacing:.4px}
.qi.y{background:var(--acc2);color:var(--accd)}.qi.r{background:var(--badb);color:var(--bad)}.qi.g{background:var(--okb);color:var(--ok)}.qi.b{background:var(--infob);color:var(--info)}.qi.p{background:var(--pinkb);color:var(--pink)}
.empty{padding:26px 10px;text-align:center;color:var(--mut);font-size:13px}
.empty b{display:block;color:var(--ink);font-size:14px;margin-bottom:4px}
.note{background:var(--soft);border-radius:10px;padding:10px 12px;font-size:13px;color:var(--ink2);white-space:pre-wrap;margin:0}
.hint{font-size:12.5px;color:var(--mut);margin:0}
.pill{display:inline-flex;align-items:center;gap:5px;border-radius:20px;padding:2px 9px;font-size:11.5px;font-weight:650;white-space:nowrap;background:var(--line2);color:var(--ink2);line-height:1.5}
.pill .d{width:7px;height:7px;border-radius:50%;background:currentColor;flex:none}
.pill.ok{background:var(--okb);color:var(--ok)}.pill.warn{background:var(--warnb);color:var(--warn)}.pill.bad{background:var(--badb);color:var(--bad)}.pill.info{background:var(--infob);color:var(--info)}.pill.y{background:var(--acc2);color:var(--accd)}.pill.pnk{background:var(--pinkb);color:var(--pink)}
.pill.o{background:transparent;border:1px solid var(--line);color:var(--mut)}
.tag{display:inline-flex;font-size:11px;font-weight:600;color:var(--mut);background:var(--line2);border-radius:6px;padding:1px 6px;white-space:nowrap}
.stage{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;white-space:nowrap}
.stage i{width:8px;height:8px;border-radius:3px;flex:none}

/* ---------- KPI */
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(176px,1fr));gap:14px}
.kpi{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:15px 17px;display:flex;flex-direction:column;gap:3px;min-width:0;box-shadow:var(--sh)}
.kpi .l{font-size:12.5px;font-weight:600;color:var(--mut);display:flex;align-items:center;gap:7px}
.kpi .n{font-size:26px;font-weight:700;letter-spacing:-.6px;white-space:nowrap;line-height:1.2}
.kpi .n small{font-size:14px;font-weight:600;color:var(--mut);letter-spacing:0;margin-left:3px}
.kpi .s{font-size:12.5px;color:var(--mut)}
.kpi .s b{color:var(--ink);font-weight:650}
.kpi.hero{background:linear-gradient(135deg,var(--acc3),var(--card) 70%);border-color:var(--acc2)}
.kpi.hero .n{font-size:30px}
.kpi a.s:hover{color:var(--ink)}
.bar{height:6px;border-radius:4px;background:var(--track);overflow:hidden;margin:6px 0 2px}
.bar span{display:block;height:100%;border-radius:4px;background:var(--accb)}
.bar.c span{background:var(--chart)}

/* ---------- таблицы */
.tw{overflow-x:auto;-webkit-overflow-scrolling:touch}
table.t{width:100%;border-collapse:collapse;font-size:13px}
table.t th{text-align:left;font-size:11.5px;font-weight:650;color:var(--mut);padding:10px 12px;border-bottom:1px solid var(--line);white-space:nowrap;background:var(--soft);position:sticky;top:0}
table.t th.r,table.t td.r{text-align:right}
table.t th.sort{cursor:pointer}
table.t th.sort:hover{color:var(--ink)}
table.t td{padding:10px 12px;border-bottom:1px solid var(--line2);vertical-align:middle}
table.t tbody tr:last-child td{border-bottom:0}
table.t tbody tr.lk{cursor:pointer}
table.t tbody tr.lk:hover td{background:var(--soft)}
table.t td b{font-weight:600}
table.t td span.s{display:block;font-size:12px;color:var(--mut)}
table.t tfoot td{border-top:1px solid var(--line);font-weight:700;padding:10px 12px}
.card.np table.t th:first-child,.card.np table.t td:first-child{padding-left:18px}
.card.np table.t th:last-child,.card.np table.t td:last-child{padding-right:18px}
.card.np table.t thead th:first-child{border-top-left-radius:var(--r)}
.card.np table.t thead th:last-child{border-top-right-radius:var(--r)}
.toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.toolbar .in,.toolbar select.in{width:auto;height:34px}
.toolbar .search2{position:relative}
.toolbar .search2 input{padding-left:32px;width:230px}
.toolbar .search2 svg{position:absolute;left:10px;top:9px;color:var(--mut2)}

/* ---------- воронка (канбан) */
.board{display:flex;gap:12px;overflow-x:auto;padding-bottom:12px;align-items:flex-start;min-height:60vh;-webkit-overflow-scrolling:touch}
.colm{width:272px;flex:none;background:var(--line2);border-radius:var(--r);display:flex;flex-direction:column;max-height:calc(100vh - 210px)}
.colm.lost{width:220px;opacity:.85}
.colm .ch{padding:11px 12px 8px;display:flex;flex-direction:column;gap:3px;border-top:3px solid var(--sc,var(--mut));border-radius:var(--r) var(--r) 0 0}
.colm .ch b{font-size:13px;display:flex;align-items:center;gap:6px}
.colm .ch b .c{font-size:11.5px;color:var(--mut);font-weight:600;margin-left:auto;background:var(--card);border-radius:8px;padding:0 7px}
.colm .ch span{font-size:12px;color:var(--mut);font-variant-numeric:tabular-nums}
.colm .cards{padding:4px 8px 10px;display:flex;flex-direction:column;gap:8px;overflow-y:auto;min-height:60px;flex:1}
.colm.over{background:var(--acc2)}
.dc{background:var(--card);border:1px solid var(--line);border-radius:11px;padding:10px 11px;cursor:pointer;display:flex;flex-direction:column;gap:6px;box-shadow:var(--sh);position:relative}
.dc:hover{border-color:var(--lineh)}
.dc.drag{opacity:.4}
.dc .tt{font-weight:650;font-size:13px;line-height:1.3;padding-right:14px}
.dc .cl{font-size:12px;color:var(--mut);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dc .ft{display:flex;align-items:center;gap:6px;font-size:12px;flex-wrap:wrap}
.dc .am{font-weight:700;font-variant-numeric:tabular-nums;margin-left:auto}
.dc .hot{position:absolute;top:9px;right:8px;color:#E0563A}
.dc .new{position:absolute;top:-6px;right:10px;background:var(--bad);color:#fff;font-size:9.5px;font-weight:800;letter-spacing:.6px;border-radius:6px;padding:1px 6px}
.chip{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:600;color:var(--ink2);background:var(--soft);border:1px solid var(--line2);border-radius:6px;padding:1px 6px;white-space:nowrap}
.chip.soon{background:var(--acc2);border-color:var(--acc2);color:var(--accd)}
.chip.late{background:var(--badb);border-color:var(--badb);color:var(--bad)}
.chip.ok{background:var(--okb);border-color:var(--okb);color:var(--ok)}

/* ---------- сделка */
.steps{display:flex;gap:3px;overflow-x:auto;padding-bottom:2px}
.steps button{flex:1;min-width:84px;border:0;background:var(--line2);color:var(--mut);font-size:12px;font-weight:650;height:34px;padding:0 14px 0 18px;cursor:pointer;clip-path:polygon(0 0,calc(100% - 9px) 0,100% 50%,calc(100% - 9px) 100%,0 100%,9px 50%);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.steps button:first-child{clip-path:polygon(0 0,calc(100% - 9px) 0,100% 50%,calc(100% - 9px) 100%,0 100%);border-radius:9px 0 0 9px;padding-left:12px}
.steps button.done{background:color-mix(in srgb,var(--sc) 22%,var(--card));color:var(--ink)}
.steps button.on{background:var(--sc);color:#fff}
.steps button:hover:not(.on){filter:brightness(.96)}
.deal-h{display:flex;gap:14px;align-items:flex-start;flex-wrap:wrap}
.deal-h .ti{flex:1;min-width:240px}
.deal-h>.row{flex-wrap:nowrap}
.deal-h .ti input{font-family:var(--fd);font-size:20px;font-weight:600;letter-spacing:-.3px;border:1px solid transparent;border-radius:9px;background:transparent;padding:2px 6px;margin-left:-7px;width:100%;outline:none}
.deal-h .ti input:hover{border-color:var(--line)}
.deal-h .ti input:focus{border-color:var(--accb);background:var(--card)}
.deal-h .meta{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:6px;font-size:12.5px;color:var(--mut)}
.lostbar{background:var(--badb);color:var(--bad);border-radius:10px;padding:10px 14px;font-weight:600;display:flex;gap:10px;align-items:center}
.items td .in.s{min-width:60px}
.items .nm{min-width:220px;width:100%}
.items .nm b{display:block;font-weight:600}
.items .nm small{display:block;color:var(--mut);font-size:12px;line-height:1.35;margin-top:2px;max-width:520px}
.sum{display:grid;grid-template-columns:auto auto;gap:4px 18px;justify-content:end;font-size:13px;margin-top:12px}
.sum span{color:var(--mut);text-align:right}
.sum b{text-align:right;font-variant-numeric:tabular-nums}
.sum .big{font-size:18px}
.marg{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:700;border-radius:6px;padding:1px 6px}
.marg.hi{background:var(--okb);color:var(--ok)}.marg.mid{background:var(--warnb);color:var(--warn)}.marg.lo{background:var(--badb);color:var(--bad)}
.feed-add{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}
.feed{display:flex;flex-direction:column}
.ev{display:flex;gap:10px;padding:9px 0;border-top:1px solid var(--line2);font-size:13px}
.ev:first-child{border-top:0}
.ev .ic{width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex:none;background:var(--soft);color:var(--mut)}
.ev .ic svg{width:14px;height:14px}
.ev .bd{flex:1;min-width:0}
.ev .who{font-size:11.5px;color:var(--mut);display:flex;gap:6px;align-items:center}
.ev .tx{white-space:pre-wrap;word-wrap:break-word;margin-top:1px}
.ev.sys .tx{color:var(--ink2)}
.ev .del{opacity:0}
.ev:hover .del{opacity:1}
.kv{display:grid;grid-template-columns:110px 1fr;gap:6px 10px;font-size:13px}
.kv span{color:var(--mut)}
.contact-links{display:flex;gap:6px;flex-wrap:wrap}
.task{display:flex;gap:10px;align-items:flex-start;padding:9px 0;border-top:1px solid var(--line2)}
.task:first-child{border-top:0}
.task input[type=checkbox]{width:17px;height:17px;margin-top:1px;accent-color:var(--ink);flex:none;cursor:pointer}
.task .tt{flex:1;min-width:0;font-size:13px}
.task .tt b{font-weight:600;display:block}
.task .tt span{font-size:12px;color:var(--mut)}
.task.done .tt b{text-decoration:line-through;color:var(--mut)}
.grp-h{font-size:11.5px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--mut);margin:16px 0 4px;display:flex;gap:8px;align-items:center}
.grp-h:first-child{margin-top:0}
.grp-h.bad{color:var(--bad)}

/* ---------- модальные окна */
.ov{position:fixed;inset:0;background:rgba(15,17,21,.42);z-index:100;display:flex;align-items:flex-start;justify-content:center;padding:6vh 16px;overflow-y:auto;animation:fade .12s}
.md{background:var(--card);border-radius:16px;width:100%;max-width:560px;box-shadow:var(--shm);display:flex;flex-direction:column;animation:pop .14s}
.md.w{max-width:860px}.md.xw{max-width:1100px}
.md .mh{display:flex;align-items:center;gap:10px;padding:16px 20px;border-bottom:1px solid var(--line)}
.md .mh h3{margin:0;font-size:16px;font-weight:700;flex:1}
.md .mb{padding:18px 20px;display:flex;flex-direction:column;gap:14px}
.md .mf{display:flex;gap:8px;justify-content:flex-end;padding:14px 20px;border-top:1px solid var(--line);flex-wrap:wrap}
.md .mf .l{margin-right:auto}
@keyframes fade{from{opacity:0}}@keyframes pop{from{transform:translateY(8px);opacity:0}}
.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:var(--ink);color:var(--card);padding:10px 16px;border-radius:10px;font-weight:600;font-size:13.5px;z-index:200;box-shadow:var(--shm);display:flex;gap:10px;align-items:center;max-width:90vw}
.toast.err{background:var(--bad);color:#fff}
.pop{position:absolute;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shm);z-index:60;padding:6px;min-width:200px}
.pop a,.pop button{display:flex;width:100%;gap:9px;align-items:center;padding:8px 10px;border-radius:8px;border:0;background:none;cursor:pointer;font-size:13px;text-align:left}
.pop a:hover,.pop button:hover{background:var(--soft)}
.pop hr{border:0;border-top:1px solid var(--line);margin:4px 0}

/* выбор программ */
.picker{display:grid;grid-template-columns:180px 1fr;gap:14px;min-height:360px}
.picker .cats{display:flex;flex-direction:column;gap:2px}
.picker .cats button{border:0;background:none;text-align:left;padding:7px 10px;border-radius:8px;cursor:pointer;font-size:13px;color:var(--ink2);display:flex}
.picker .cats button.on{background:var(--acc2);color:var(--ink);font-weight:650}
.picker .cats button span{margin-left:auto;color:var(--mut2);font-size:12px}
.picker .list{display:flex;flex-direction:column;gap:6px;max-height:56vh;overflow-y:auto;padding-right:4px}
.pk{display:flex;gap:12px;align-items:center;border:1px solid var(--line);border-radius:11px;padding:10px 12px;cursor:pointer}
.pk:hover{border-color:var(--lineh)}
.pk.on{border-color:var(--accb);background:var(--acc3)}
.pk .t{flex:1;min-width:0}
.pk .t b{display:block;font-size:13.5px}
.pk .t span{display:block;font-size:12px;color:var(--mut);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pk .p{font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums}
.pk input{width:17px;height:17px;accent-color:var(--ink)}

/* ---------- каталог */
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.pc{background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;cursor:pointer;box-shadow:var(--sh)}
.pc:hover{border-color:var(--lineh)}
.pc.off{opacity:.55}
.pc .im{aspect-ratio:16/9;background:var(--soft);position:relative;display:flex;align-items:flex-end;padding:10px 12px;background-size:cover;background-position:center}
.pc .im.none{aspect-ratio:auto;height:96px}
.pc .im .nph{position:absolute;bottom:10px;right:10px;display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700;background:rgba(15,17,21,.62);color:#fff;border-radius:6px;padding:2px 7px}
.pc .bd .aud{align-self:flex-start}
.aud{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:600;color:var(--ink2);white-space:nowrap}
.aud-dot{width:9px;height:9px;border-radius:50%;flex:none;display:inline-block;border:1.5px solid rgba(10,11,12,.75)}
.aud-girls{background:#FAA1E5}.aud-boys{background:#2C6CD0}.aud-all{background:#50C06A}
.catbar.aud-bar{align-items:center;margin-top:-6px}
.catbar.aud-bar>span{font-size:12.5px;margin-right:2px}
.catbar button .aud-dot{margin-right:5px;vertical-align:-1px}
/* фото программы */
.ph-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-top:6px;border-radius:12px;transition:background .15s}
.ph-grid.over{background:var(--acc3);outline:2px dashed var(--accb);outline-offset:4px}
.ph{aspect-ratio:16/9;border-radius:10px;background:var(--soft) center/cover no-repeat;position:relative;overflow:hidden;border:1px solid var(--line)}
.ph .ph-open{position:absolute;inset:0;z-index:1}
.ph-cov{position:absolute;left:8px;bottom:8px;z-index:2;background:var(--acc);color:var(--onacc);font-size:10.5px;font-weight:800;border-radius:6px;padding:2px 7px;letter-spacing:.3px}
.ph-tools{position:absolute;top:6px;right:6px;z-index:2;display:flex;gap:4px;opacity:0;transition:opacity .12s}
.ph:hover .ph-tools{opacity:1}
.ph-tools button{width:26px;height:26px;border-radius:7px;border:0;background:rgba(255,255,255,.92);color:#15171C;display:flex;align-items:center;justify-content:center;cursor:pointer}
.ph-tools button:hover{background:#FCDA54}
.ph.add{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;cursor:pointer;border:1.5px dashed var(--lineh);background:var(--soft);color:var(--mut);font-size:12.5px;font-weight:600;text-align:center}
.ph.add:hover{border-color:var(--accb);background:var(--acc3);color:var(--ink)}
.ph.add small{font-weight:500;color:var(--mut2)}
@media (pointer:coarse){.ph-tools{opacity:1}}
.ph.main{box-shadow:0 0 0 3px var(--accb)}
.ph[draggable=true]{cursor:grab}.ph.drag{opacity:.4}.ph.tgt{outline:3px dashed var(--accb);outline-offset:2px}
.ph-main{position:absolute;left:6px;bottom:6px;z-index:2;display:inline-flex;align-items:center;gap:5px;background:rgba(255,255,255,.94);color:#15171C;border-radius:8px;
  padding:3px 8px 3px 6px;font-size:11.5px;font-weight:700;cursor:pointer;box-shadow:0 1px 3px rgba(0,0,0,.15)}
.ph.main .ph-main{background:#FCDA54}
.ph-main input{width:14px;height:14px;margin:0;accent-color:#15171C;cursor:pointer}
.pk .pk-im{width:64px;height:36px;border-radius:7px;background:var(--soft) center/cover no-repeat;flex:none;border:1px solid var(--line2)}
.vtabs button.vadd{background:var(--acc2);border-color:color-mix(in srgb,var(--accb) 40%,var(--acc2))}
.vtabs button.vadd:hover{background:var(--acc)}
.pc .im .cat{position:absolute;top:10px;left:10px;font-size:11px;font-weight:700;background:var(--card);border-radius:6px;padding:2px 7px;color:var(--ink2);box-shadow:0 1px 3px rgba(0,0,0,.15)}
.pc .im .hit{position:absolute;top:10px;right:10px;background:var(--acc);color:var(--onacc);font-size:10.5px;font-weight:800;border-radius:6px;padding:2px 7px;letter-spacing:.4px}
.pc .bd{padding:12px 14px 14px;display:flex;flex-direction:column;gap:6px;flex:1}
.pc .bd b{font-size:14px;line-height:1.3}
.pc .bd p{margin:0;font-size:12.5px;color:var(--mut);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pc .ft{display:flex;align-items:center;gap:6px;margin-top:auto;padding-top:6px;flex-wrap:wrap}
.pc .pr{font-weight:750;font-size:15px;margin-left:auto;white-space:nowrap}
.pc .pr small{font-size:11.5px;color:var(--mut);font-weight:500}
/* каталог: категории колонкой слева */
.cat-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:18px;align-items:start}
.cat-side{position:sticky;top:76px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:12px;display:flex;flex-direction:column;gap:2px;box-shadow:var(--sh)}
.cat-h{font-size:10.5px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--mut2);margin:6px 8px 4px}
.cat-h:not(:first-child){margin-top:14px}
.cat-side button{display:flex;align-items:center;gap:9px;width:100%;border:0;background:none;text-align:left;padding:8px 10px;border-radius:9px;cursor:pointer;font-size:13.5px;font-weight:500;color:var(--ink2)}
.cat-side button i{width:10px;height:10px;border-radius:50%;flex:none;border:1.5px solid rgba(10,11,12,.7)}
.cat-side button span{margin-left:auto;font-size:12px;color:var(--mut2);font-variant-numeric:tabular-nums}
.cat-side button:hover{background:var(--soft)}
.cat-side button.on{background:var(--acc2);color:var(--ink);font-weight:700;box-shadow:inset 3px 0 0 var(--accb)}
.pc .im .pv{position:absolute;bottom:10px;left:10px;display:inline-flex;align-items:center;gap:5px;background:#fff;color:#0A0B0C;border:1.5px solid #0A0B0C;
  border-radius:8px;padding:3px 9px;font-size:12px;font-weight:700;transition:background .12s,box-shadow .12s;box-shadow:2px 2px 0 #0A0B0C}
.pc:hover .im .pv{background:var(--acc)}
.pc .im .pv:hover{box-shadow:3px 3px 0 #0A0B0C}
.pc .im .hit+.pv,.pc .im .pv{z-index:2}
@media (max-width:900px){.cat-layout{grid-template-columns:minmax(0,1fr);gap:12px}.cat-side{position:static;padding:8px 10px;gap:4px}
  .cat-side>div:not(.cat-h){display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;margin:0 -10px;padding:0 10px}
  .cat-side>div:not(.cat-h)::-webkit-scrollbar{display:none}
  .cat-side button{width:auto;flex:none;white-space:nowrap;padding:6px 10px}.cat-side button.on{box-shadow:inset 0 0 0 1.5px var(--accb)}.cat-h,.cat-h:not(:first-child){width:100%;margin:4px 2px 2px}}
.new-st.y{background:#FCDA54}
/* ДДС: отчёт по статьям */
table.rep td,table.rep th{white-space:nowrap}
table.rep tr.rep-h td{font-weight:800;background:var(--soft);border-top:1px solid var(--line)}
table.rep tr.rep-g td{font-weight:650}
table.rep td.rep-c{padding-left:28px;color:var(--ink2)}
.catbar{display:flex;gap:6px;flex-wrap:wrap}
.catbar button{border:1px solid var(--line);background:var(--card);border-radius:20px;padding:5px 12px;font-size:12.5px;font-weight:600;cursor:pointer;color:var(--ink2)}
.catbar button.on{background:var(--ink);border-color:var(--ink);color:var(--card)}
.catbar button span{color:var(--mut2);margin-left:4px;font-weight:500}
.catbar button.on span{color:var(--mut2)}

/* ---------- календарь */
.month{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--card)}
.month .dw{font-size:11px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--mut2);padding:8px 10px;background:var(--soft);border-bottom:1px solid var(--line)}
.month .dy{min-height:118px;padding:6px;border-right:1px solid var(--line2);border-bottom:1px solid var(--line2);display:flex;flex-direction:column;gap:3px;min-width:0;cursor:pointer}
.month .dy:nth-child(7n){border-right:0}
.month .dy.out{background:var(--soft)}.month .dy.out .dn{color:var(--mut2)}
.month .dy.we .dn{color:var(--bad)}
.month .dy.today{background:var(--acc3)}
.month .dy.sel{box-shadow:inset 0 0 0 2px var(--accb)}
.month .dn{font-size:12.5px;font-weight:700;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center}
.month .dy.today .dn{background:var(--acc);color:var(--onacc)}
.ce{display:flex;align-items:center;gap:5px;font-size:11.5px;padding:3px 6px;border-radius:6px;background:var(--card);box-shadow:inset 3px 0 0 var(--sc,var(--mut)),inset 0 0 0 1px var(--line);overflow:hidden;white-space:nowrap;min-width:0}
.ce b{font-weight:600;overflow:hidden;text-overflow:ellipsis}
.ce .tm{color:var(--mut);font-variant-numeric:tabular-nums;flex:none}
.ce.bd{box-shadow:none;background:var(--pinkb);color:var(--pink)}
.month .more{font-size:11px;color:var(--mut);font-weight:600;padding-left:4px}

/* ---------- графики (одна серия — один цвет, подписи текстовыми цветами) */
.hbars{display:flex;flex-direction:column;gap:9px}
.hb{display:grid;grid-template-columns:minmax(90px,150px) 1fr auto;gap:10px;align-items:center;font-size:12.5px;position:relative}
.hb .l{color:var(--ink2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hb .tr{height:14px;position:relative}
.hb .tr i{position:absolute;left:0;top:0;bottom:0;background:var(--chart);border-radius:0 4px 4px 0;min-width:2px}
.hb .v{font-weight:650;font-variant-numeric:tabular-nums;min-width:28px;text-align:right}
.hb:hover .tr i{filter:brightness(1.1)}
.cols{display:flex;align-items:flex-end;gap:2px;height:180px;padding:22px 0 0;border-bottom:1px solid var(--line);position:relative}
.cols .cl{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;position:relative;min-width:0}
.cols .cl i{display:block;width:min(24px,70%);background:var(--chart);border-radius:4px 4px 0 0;min-height:1px}
.cols .cl:hover i{filter:brightness(1.12)}
.cols .cl .v{position:absolute;font-size:11px;font-weight:650;color:var(--ink2);white-space:nowrap;transform:translateY(-16px)}
.cols .cl.cur i{background:var(--chart)}
.cols-x{display:flex;gap:2px;margin-top:6px}
.cols-x span{flex:1;text-align:center;font-size:11px;color:var(--mut);min-width:0;overflow:hidden}
.cols .grid{position:absolute;left:0;right:0;border-top:1px solid var(--line2);pointer-events:none}
.tip{position:fixed;z-index:300;background:var(--ink);color:var(--card);font-size:12px;padding:6px 9px;border-radius:7px;pointer-events:none;white-space:nowrap;box-shadow:var(--shm)}
.tip b{font-weight:700}

/* ---------- документ (договор) */
.paper{background:#fff;color:#000;width:100%;max-width:820px;margin:0 auto;border-radius:6px;box-shadow:0 1px 3px rgba(0,0,0,.08),0 10px 30px rgba(0,0,0,.06);padding:56px 64px;font-family:'Times New Roman',Times,serif;font-size:15px;line-height:1.4;outline:none}
.paper h1{font-size:19px;text-align:center;margin:0 0 14px}.paper h2{font-size:15px;text-align:center;margin:18px 0 8px;text-transform:uppercase}
.paper p{margin:0 0 7px;text-align:justify}.paper table{border-collapse:collapse;width:100%}
.paper table.dh td{padding:0 0 12px}.paper table.dh td.r,.paper td.r,.paper th.r{text-align:right}
.paper table.items th,.paper table.items td{border:1px solid #000;padding:4px 6px;font-size:14px;vertical-align:top}.paper table.items th{background:#eee}
.paper table.req td{width:50%;vertical-align:top;padding:6px 12px 6px 0;font-size:14px}.paper table.req td.sign{padding-top:28px}
.paper table.bank td{border:1px solid #000;padding:4px 6px;font-size:13px;vertical-align:top}.paper ol.items{margin:0 0 10px 22px;padding:0}
.paper:focus{box-shadow:0 0 0 3px var(--acc2),0 10px 30px rgba(0,0,0,.06)}
.ph-list{display:flex;flex-wrap:wrap;gap:6px}
.ph-list code{font-size:11.5px;background:var(--soft);border:1px solid var(--line);border-radius:6px;padding:2px 6px;cursor:pointer}
.ph-list code:hover{border-color:var(--accb)}

/* редактор КП */
.kp-ed{display:grid;grid-template-columns:minmax(0,440px) minmax(0,1fr);gap:18px;align-items:start}
.kp-prev{position:sticky;top:76px;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:#E9EBEF;max-height:calc(100vh - 96px);overflow-y:auto}
.kp-prev .scale{transform-origin:top left}
.vtabs{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.vtabs button{border:1px solid var(--line);background:var(--card);border-radius:9px;padding:6px 11px;font-weight:600;font-size:12.5px;cursor:pointer}
.vtabs button.on{border-color:var(--accb);background:var(--acc2)}
.kp-item{border:1px solid var(--line);border-radius:10px;padding:9px 10px;display:grid;grid-template-columns:1fr 70px 96px 28px;gap:6px;align-items:center}
.kp-item .nm{grid-column:1/-1;display:flex;gap:6px}
.kp-items{display:flex;flex-direction:column;gap:6px}

/* лента уведомлений */
.notifs{position:absolute;right:0;top:44px;width:360px;max-height:70vh;overflow-y:auto}
.notifs a{align-items:flex-start!important}
.notifs a.unread{background:var(--acc3)}
.notifs .tm{font-size:11px;color:var(--mut)}

.badge-new{background:var(--bad);color:#fff;border-radius:6px;font-size:10px;font-weight:800;padding:1px 6px;letter-spacing:.5px}
.lead{display:grid;grid-template-columns:44px minmax(0,1fr);gap:4px 14px;align-items:flex-start;padding:16px 18px;border-top:1px solid var(--line2)}
.lead:first-child{border-top:0}
.lead .rq{background:var(--soft);border-radius:10px;padding:8px 11px;font-size:13px;margin-top:8px;white-space:pre-wrap;color:var(--ink2)}
.lead .acts{grid-column:2;display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
.wait{font-size:12px;font-weight:700;color:var(--bad);display:inline-flex;gap:4px;align-items:center}
.code{font-family:ui-monospace,Menlo,monospace;font-size:12px;background:var(--soft);border:1px solid var(--line);border-radius:9px;padding:10px 12px;white-space:pre-wrap;word-break:break-all;margin:0}
.color-dot{width:22px;height:22px;border-radius:7px;border:1px solid var(--line);cursor:pointer;padding:0}
input[type=color].color-dot{appearance:none;-webkit-appearance:none;background:none;padding:0}
input[type=color].color-dot::-webkit-color-swatch-wrapper{padding:0}
input[type=color].color-dot::-webkit-color-swatch{border:0;border-radius:6px}

/* ---------- мобильная версия */
@media (max-width:1180px){
  .grid2{grid-template-columns:1fr}
  .kp-ed{grid-template-columns:1fr}.kp-prev{position:static;max-height:none}
}
@media (max-width:900px){
  .side{position:fixed;left:0;top:0;bottom:0;transform:translateX(-100%);transition:transform .18s;box-shadow:var(--shm)}
  .app.nav-open .side{transform:none}
  .app.nav-open::after{content:"";position:fixed;inset:0;background:rgba(15,17,21,.35);z-index:19}
  .burger{display:inline-flex}
  .top{padding:0 12px;gap:8px}
  main{padding:16px 12px 70px}
  .grid2.even,.grid3{grid-template-columns:1fr}
  .head h1{font-size:19px}
  .deal-h .ti input{font-size:17px}
  .head .acts{margin-left:0;width:100%}
  .hide-m{display:none!important}
  .picker{grid-template-columns:1fr}.picker .cats{flex-direction:row;flex-wrap:wrap}
  .paper{padding:28px 20px;font-size:14px}
  .lead{grid-template-columns:1fr}.lead .qi{display:none}.lead .acts{grid-column:1}
  .fg.two{grid-template-columns:1fr}
  .md .mb{padding:16px}
  .notifs{position:fixed;left:12px;right:12px;top:64px;width:auto}
  .month .dy{min-height:64px;padding:4px}.month .ce b,.month .ce .tm{display:none}.month .ce{padding:0;height:6px;border-radius:3px;background:var(--sc,var(--mut));box-shadow:none}
  .month .ce.bd{background:var(--pink)}
  .month .more{display:none}
  .kpi .n{font-size:22px}.kpi.hero .n{font-size:24px}
  .toolbar .search2 input{width:100%}.toolbar .search2{flex:1 1 100%}
}
@media print{
  .side,.top,.no-print{display:none!important}
  main{padding:0}
  body{background:#fff}
}
/* шаблоны: список и превью */
.tpl-list .li{padding:7px 8px;border-radius:8px;margin:0 -8px}
.tpl-list .li.on{background:var(--acc2)}
.tpl-list .li.on b{color:var(--ink)}
.tpl-prev{position:static;max-height:none}
.tpl-paper{max-width:none}
.chat-prev{background:#E7DDD3;background-image:radial-gradient(rgba(0,0,0,.05) 1px,transparent 1px);background-size:14px 14px;padding:22px}
.chat-h{font-size:12.5px;font-weight:700;color:#5E6472;margin-bottom:12px;display:flex;gap:6px;align-items:center}
.bubble{max-width:440px;margin-left:auto;background:#D9FDD3;color:#111;border-radius:12px 0 12px 12px;padding:10px 12px 18px;font-size:14px;line-height:1.45;position:relative;box-shadow:0 1px 1px rgba(0,0,0,.12)}
.bubble span{position:absolute;right:10px;bottom:4px;font-size:10.5px;color:#667781}

/* ---------- мероприятия и фотоотчёты */
.ev-kpis{margin:18px 0 14px}
.stor .row{gap:8px;font-size:13.5px}.stor .s{font-size:12px;color:var(--mut);line-height:1.45}
.bar.warn span{background:var(--warn)}.bar.bad span{background:var(--bad)}
.ev-filt{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:12px;margin-bottom:16px}
.ev-filt [data-q]{flex:1 1 240px;min-width:0}.ev-filt select{width:auto;max-width:240px}
.ev-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:16px}
.ev-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--sh)}
.ev-card.lost{opacity:.78}
.ev-im{position:relative;display:block;aspect-ratio:3/2;background:var(--soft)}
.ev-im img{width:100%;height:100%;object-fit:cover;display:block}
.ev-im .pill{position:absolute;left:10px;top:10px;box-shadow:0 1px 3px rgba(0,0,0,.12)}
.ev-im .nph{position:absolute;right:10px;bottom:10px;display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700;background:rgba(255,255,255,.92);color:#15171C;border-radius:7px;padding:2px 7px}
.ev-noph{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:var(--mut2);font-size:12.5px;font-weight:600}
.ev-noph .i{width:28px;height:28px;opacity:.6}
.ev-card.done .ev-noph{background:repeating-linear-gradient(135deg,var(--soft) 0 14px,var(--card) 14px 28px)}
.ev-bd{padding:12px 14px 14px;display:flex;flex-direction:column;gap:5px;flex:1}
.ev-bd b{font-size:14.5px;line-height:1.3}
.ev-bd .s{font-size:12.5px;color:var(--mut)}.ev-bd .s.bad{color:var(--bad)}
.ev-note{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ev-tags{display:flex;flex-wrap:wrap;gap:4px}
.ev-ft{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;padding-top:6px}
.ev-page{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:18px;align-items:start;margin-top:16px}
.ev-drop{transition:background .15s}.ev-drop.over{background:var(--acc3);outline:2px dashed var(--accb);outline-offset:-6px}
.ev-ph{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.ev-t{position:relative;border:0;padding:0;border-radius:10px;overflow:hidden;aspect-ratio:1;background:var(--soft);cursor:zoom-in}
.ev-t img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .2s}
.ev-t:hover img{transform:scale(1.04)}
.ev-t.cov{box-shadow:0 0 0 3px var(--accb)}
.ev-t i{position:absolute;left:6px;bottom:6px;font-style:normal;font-size:11px;font-weight:700;background:#FCDA54;color:#15171C;border-radius:6px;padding:1px 7px}
.ev-empty{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;padding:48px 16px;border:2px dashed var(--line);border-radius:12px;color:var(--mut);cursor:pointer}
.ev-empty .i{width:34px;height:34px;color:var(--mut2)}.ev-empty b{color:var(--ink);font-size:15px}
.ev-empty:hover{border-color:var(--accb);background:var(--acc3)}
.ev-prog{margin-bottom:12px;padding:10px 12px;border-radius:10px;background:var(--acc3);font-size:13px}
.ev-chips{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 8px}
.ev-chips .chip{display:inline-flex;align-items:center;gap:4px;font-size:12.5px;font-weight:600;background:var(--line2);border-radius:8px;padding:3px 4px 3px 9px}
.ev-chips .chip button{border:0;background:none;color:var(--mut);cursor:pointer;display:flex;padding:2px;border-radius:5px}
.ev-chips .chip button:hover{background:var(--card);color:var(--bad)}
.lb{position:fixed;inset:0;z-index:150;background:rgba(21,23,28,.94);display:flex;flex-direction:column}
.lb-top{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;color:#fff;flex-wrap:wrap}
.lb-top .ib{color:#fff;background:rgba(255,255,255,.12)}.lb-n{font-weight:600;font-size:13.5px;opacity:.85}
.lb-body{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;gap:10px;padding:0 10px 14px}
.lb-body img{max-width:min(100%,1600px);max-height:100%;object-fit:contain;border-radius:8px;min-width:0}
.lb-nav{flex:none;width:44px;height:44px;border-radius:50%;border:0;background:rgba(255,255,255,.14);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center}
.lb-nav:hover{background:rgba(255,255,255,.26)}.lb-nav.r .i{transform:rotate(180deg)}
@media (max-width:1000px){.ev-page{grid-template-columns:1fr}}
@media (max-width:600px){.ev-grid{grid-template-columns:1fr}.ev-ph{grid-template-columns:repeat(3,1fr);gap:5px}.lb-nav{display:none}}
.ev-vw{margin-left:auto}.ev-vw button .i{vertical-align:-2px}
.ev-list td .s{display:block;font-size:12px;color:var(--mut);margin-top:2px}
.ev-list td b{font-weight:650}
.ev-pick{display:flex;flex-direction:column;gap:6px;max-height:min(440px,55vh);overflow:auto;margin:0 -4px;padding:0 4px}
.ev-pi{display:flex;align-items:center;gap:12px;width:100%;text-align:left;border:1px solid var(--line);background:var(--card);border-radius:12px;padding:10px 12px;cursor:pointer;font:inherit;color:inherit}
.ev-pi:hover{border-color:var(--accb);background:var(--acc3)}
.ev-pi .d{flex:none;width:58px;font-size:12.5px;font-weight:700;color:var(--mut)}
.ev-pi .t{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.ev-pi .t span{font-size:12.5px;color:var(--mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (max-width:600px){.ev-vw{margin-left:0}}
.pill.cst{background:color-mix(in srgb,var(--sc) 15%,transparent);color:color-mix(in srgb,var(--sc) 80%,var(--ink));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--sc) 30%,transparent)}

/* ---------- внутренний чат */
.nav .bd.c{background:var(--chart)}
.chat{display:grid;grid-template-columns:290px minmax(0,1fr);gap:14px;margin-top:14px;height:calc(100vh - 210px);min-height:440px}
.ch-list{padding:6px;overflow:auto}
.ch-r{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:11px;color:inherit}
.ch-r:hover{background:var(--soft)}.ch-r.on{background:var(--acc2)}
.ch-r .t{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.ch-r .t b{font-size:13.5px;font-weight:650}.ch-r .t span{font-size:12.5px;color:var(--mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ch-n{flex:none;min-width:20px;height:20px;border-radius:10px;background:var(--chart);color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 6px}
.ch-tm{flex:none;font-size:11.5px;color:var(--mut2)}
.av.ch-all{background:#2C6CD0;color:#fff;display:inline-flex;align-items:center;justify-content:center}.av.ch-all svg{display:block;width:16px;height:16px;flex:none;color:#fff!important}
.ch-room{display:flex;flex-direction:column;min-height:0;padding:0;overflow:hidden}
.ch-h{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--line)}
.ch-h b{display:block;font-size:14.5px}.ch-h .s{font-size:12.5px;color:var(--mut)}
.ch-back{display:none}
.ch-msgs{flex:1;overflow:auto;padding:14px 16px;display:flex;flex-direction:column;gap:3px;background:var(--bg)}
.ch-day{text-align:center;margin:12px 0 6px}.ch-day span{font-size:11.5px;font-weight:600;color:var(--mut);background:var(--card);border:1px solid var(--line);border-radius:20px;padding:2px 10px}
.ch-more{text-align:center;margin-bottom:8px}
.ch-m{display:flex;align-items:flex-end;gap:8px;max-width:78%;position:relative}
.ch-m:not(.grp){margin-top:8px}
.ch-m.mine{align-self:flex-end;flex-direction:row-reverse}
.ch-gap{width:26px;flex:none}.ch-m.mine .ch-gap{display:none}
.ch-b{min-width:0}
.ch-a{font-size:12px;font-weight:650;color:var(--ink2);margin:0 4px 3px}.ch-a span{font-weight:500;color:var(--mut2);margin-left:4px}
.ch-m.mine .ch-a{text-align:right}
.ch-t{background:var(--card);border:1px solid var(--line);border-radius:14px 14px 14px 4px;padding:8px 12px;font-size:14px;line-height:1.45;word-wrap:break-word;overflow-wrap:anywhere}
.ch-m.mine .ch-t{background:var(--acc2);border-color:color-mix(in srgb,var(--accb) 35%,var(--line));border-radius:14px 14px 4px 14px}
.ch-t a{color:var(--chart);text-decoration:underline}
.ch-deal{display:inline-flex;align-items:center;gap:5px;margin-top:6px;font-size:12.5px;font-weight:600;background:var(--soft);border-radius:8px;padding:3px 8px;color:var(--ink)!important;text-decoration:none!important}
.ch-t .ch-deal:first-child{margin-top:0}
.ch-task{display:flex;flex-direction:column;gap:4px;min-width:220px}
.ch-task .lbl{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--mut);display:inline-flex;align-items:center;gap:4px}
.ch-task .chk b{font-weight:650}.ch-task.done .chk b{text-decoration:line-through;color:var(--mut)}
.ch-task .s{font-size:12px;color:var(--mut)}
.ch-act{display:flex;gap:2px;opacity:0;transition:opacity .12s;align-self:center}
.ch-m:hover .ch-act{opacity:1}
.ch-comp{border-top:1px solid var(--line);padding:10px 12px;display:flex;flex-direction:column;gap:8px;background:var(--card)}
.ch-comp textarea{resize:none;min-height:40px;max-height:160px}
.ch-att{display:inline-flex;align-self:flex-start;align-items:center;gap:6px;font-size:12.5px;font-weight:600;background:var(--soft);border-radius:8px;padding:3px 4px 3px 8px}
.ch-dl{display:flex;flex-direction:column;gap:6px;margin-top:10px;max-height:min(420px,55vh);overflow:auto}
@media (pointer:coarse){.ch-act{opacity:1}}
@media (max-width:820px){
  .chat{grid-template-columns:1fr;height:calc(100vh - 130px);height:calc(100dvh - 130px);margin-top:10px}.ch-head .sub{display:none}
  .chat.has-room .ch-list{display:none}.chat:not(.has-room) .ch-room{display:none}
  .ch-back{display:inline-flex}.ch-m{max-width:92%}
}

