/* ═══ Аналитика + Настройки — только var(--…) из tokens.css ═══ */

/* ── Аналитика ── */
.ins-period button{padding:6px 12px;font-size:var(--fs-sm)}
.ins-card{padding:20px;margin-bottom:16px}
.ins-h{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px;flex-wrap:wrap}
.ins-h h3{margin:0;font-size:var(--fs-block);font-weight:600}
.ins-sub{font-size:var(--fs-sm);color:var(--text-3);margin-top:3px}
.ins-sub b{color:var(--text-2);font-weight:600}
.ins-legend{display:flex;gap:12px;font-size:var(--fs-cap);color:var(--text-3)}
.ins-legend span{display:inline-flex;align-items:center;gap:6px}
.ins-legend i{width:8px;height:8px;border-radius:2px}
.ins-legend .paid,.ins-stack .paid{background:var(--accent)}
.ins-legend .pend,.ins-stack .pend{background:color-mix(in srgb,var(--accent) 28%,transparent)}
.ins-chart{display:flex;align-items:flex-end;gap:10px;height:180px}
.ins-col{flex:1;min-width:0;height:100%;display:flex;flex-direction:column;align-items:center;gap:6px;padding:0;border:none;background:none;color:inherit;
  cursor:pointer;opacity:.45;transition:opacity var(--dur-hover) ease}
.ins-col:hover{opacity:.75}
.ins-col.sel{opacity:1}
.ins-col-v{font-size:10.5px;color:var(--text-3);white-space:nowrap;line-height:1}
.ins-col.sel .ins-col-v,.ins-col.sel .ins-col-l{color:var(--text)}
.ins-col-l{font-size:var(--fs-cap);color:var(--text-3)}
.ins-stack{flex:1;width:100%;display:flex;flex-direction:column;justify-content:flex-end;border-radius:6px;overflow:hidden}
.ins-stack i{display:block;width:100%;transition:height var(--dur-move) var(--ease-out)}
.ins-stack .zero{height:3px;background:var(--border-strong)}
.ins-mh{margin:18px 0 6px;padding-top:14px;border-top:1px solid var(--border);font-size:var(--fs-sm);font-weight:600;color:var(--text-2)}
.ins-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}
.ins-grid .ins-card{margin-bottom:16px}
.ins-t{display:flex;flex-direction:column}
.ins-tr{display:grid;gap:12px;align-items:center;padding:9px 0;border-top:1px solid var(--border);font-size:var(--fs-sm);color:var(--text-2)}
.ins-tr.th{border-top:none;padding-top:0;color:var(--text-3);font-size:var(--fs-cap)}
.ins-t-src .ins-tr{grid-template-columns:minmax(0,1.4fr) 56px 64px 80px 96px}
.ins-t-cx .ins-tr{grid-template-columns:minmax(0,1.6fr) 56px 96px 76px}
.ins-t-month .ins-tr{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) 110px 150px 90px}
.ins-tr .r{text-align:right}
.ins-n{color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ins-cx{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ins-b{color:var(--text);font-weight:600}
.ins-empty{font-size:var(--fs-sm);color:var(--text-3);padding:10px 0}
.ins-fn{display:flex;flex-direction:column;gap:2px;max-width:760px}
.ins-fn-r{display:grid;grid-template-columns:110px minmax(0,1fr) 48px;gap:12px;align-items:center;padding:4px 0}
.ins-fn-l{font-size:var(--fs-sm);color:var(--text-2)}
.ins-fn-bar{height:22px;border-radius:var(--r-xs);background:var(--seg-track);overflow:hidden}
.ins-fn-bar span{display:block;height:100%;border-radius:inherit;background:color-mix(in srgb,var(--c) 70%,transparent);transition:width var(--dur-move) var(--ease-out)}
.ins-fn-r b{text-align:right;font-weight:600}
.ins-fn-pass{display:flex;align-items:center;gap:6px;padding:2px 0 2px 122px;font-size:var(--fs-cap);color:var(--text-3)}
.ins-fn-pass svg{width:12px;height:12px}

/* ── Настройки ── */
.stg{display:flex;flex-direction:column;gap:16px;max-width:900px}
.stg-block{padding:20px}
.stg-bh{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}
.stg-bt{display:flex;gap:12px;align-items:flex-start;min-width:0}
.stg-bt>svg{width:18px;height:18px;color:var(--text-3);margin-top:2px;flex-shrink:0}
.stg-bt h3{margin:0;font-size:var(--fs-block);font-weight:600}
.stg-muted{font-size:var(--fs-sm);color:var(--text-3);margin-top:3px;line-height:1.5}
.stg-muted code{padding:1px 6px;border-radius:var(--r-xs);background:var(--surface-2);border:1px solid var(--border);color:var(--text-2);font-size:var(--fs-cap)}
.stg-save:disabled{opacity:.4;cursor:default}
.stg-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.stg-f{display:flex;flex-direction:column;gap:6px;min-width:0}
.stg-f.wide{grid-column:1/-1}
.stg-block[data-b="tpl"] .stg-f+.stg-f{margin-top:14px}
.stg-f>span{font-size:var(--fs-sm);color:var(--text-2);font-weight:500}
.stg-f input,.stg-f textarea{width:100%;padding:9px 12px;font-size:var(--fs-body);color:var(--text)}
.stg-f textarea{resize:vertical;line-height:1.5}
.stg-f small{font-size:var(--fs-cap);color:var(--text-3)}
.stg-dflt{font-style:normal;font-weight:400;color:var(--text-4);font-size:var(--fs-cap)}
.stg-link{color:var(--text-3);cursor:pointer}
.stg-link:hover{color:var(--accent)}
.stg-acts{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.stg-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:16px;padding-top:14px;border-top:1px solid var(--border)}
.stg-row .stg-muted{flex:1;margin:0}
.stg-kv{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--border);font-size:var(--fs-sm)}
.stg-kv span{color:var(--text-3)}
.stg-kv b{font-weight:500;color:var(--text);text-align:right}
.stg-t{display:flex;flex-direction:column}
.stg-tr{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--border)}
.stg-tr:first-child{border-top:none}
.stg-kind{flex-shrink:0;min-width:72px;font-size:var(--fs-cap);color:var(--text-3)}
.stg-tn{flex:1;min-width:0}
.stg-tn b{display:block;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.stg-tn small{display:block;font-size:var(--fs-cap);color:var(--text-3)}
.stg-danger{color:var(--red)}
.stg-dist{display:flex;flex-direction:column;gap:6px}
.stg-dr{display:grid;grid-template-columns:minmax(110px,1fr) 100px 100px 90px minmax(160px,1.6fr) 32px;gap:8px;align-items:center}
.stg-dr.th{font-size:var(--fs-cap);color:var(--text-3)}
.stg-dr input{width:100%;height:34px;padding:0 10px;font-size:var(--fs-sm);color:var(--text)}

/* ── источники: клик → люди; «Заполнить» ── */
.ins-click{cursor:pointer;transition:background-color var(--dur-hover) ease}
.ins-click:hover{background:var(--surface-hover)}
.ins-fill{margin-left:8px;padding:2px 8px;background:var(--amber-soft);color:var(--amber);border:1px solid color-mix(in srgb,var(--amber) 35%,transparent)}
.ins-fill svg{width:12px;height:12px}
.ins-grid-fn{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}
/* ── рефералы ── */
.ins-t-ref .ins-tr{grid-template-columns:minmax(0,1.4fr) 96px 88px 80px}
.ins-minibar{display:block;height:3px;margin-top:5px;border-radius:var(--r-full);background:var(--seg-track);overflow:hidden;max-width:160px}
.ins-minibar span{display:block;height:100%;background:var(--accent)}
.ins-t-ref .ins-n small,.ins-t-ref small{font-size:var(--fs-cap)}
/* ── почему теряю · топ районов ── */
.ins-lost{display:flex;flex-direction:column}
.ins-lost-r{padding:9px 0;border-top:1px solid var(--border)}
.ins-lost-h{display:flex;justify-content:space-between;gap:12px;font-size:var(--fs-sm);color:var(--text-2)}
.ins-lost-h svg{width:13px;height:13px;vertical-align:-2px;transition:transform var(--dur-hover) ease}
.ins-lost-h b{color:var(--text);font-weight:600;white-space:nowrap}
.ins-lost-bar{height:4px;margin-top:6px;border-radius:var(--r-full);background:var(--seg-track);overflow:hidden}
.ins-lost-bar span{display:block;height:100%;background:var(--red)}
.ins-lost-bar.acc span{background:var(--accent)}
.ins-lost-items{display:none;margin-top:8px;padding-left:12px;border-left:1px solid var(--border)}
.ins-lost-r.open .ins-lost-items{display:block}
.ins-lost-r.open .ins-lost-h svg{transform:rotate(180deg)}
.ins-lost-items div{display:flex;justify-content:space-between;gap:12px;padding:3px 0;font-size:var(--fs-sm);color:var(--text-3)}
/* ── окно со списком людей ── */
.ins-people{display:flex;flex-direction:column}
.ins-pp{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 4px;border-bottom:1px solid var(--border);
  transition:opacity var(--dur-move) ease,transform var(--dur-move) var(--ease-out)}
.ins-pp:last-child{border-bottom:none}
.ins-pp.done{opacity:0;transform:translateX(30px)}
.ins-pp-n{flex:1;min-width:0;background:none;border:none;padding:0;text-align:left;color:var(--text);font-size:var(--fs-body);font-weight:500;cursor:pointer}
.ins-pp-n:hover{color:var(--accent)}
.ins-pp-n small{display:block;font-size:var(--fs-sm);font-weight:400;color:var(--text-3);margin-top:2px}
.ins-pp b{font-weight:600;white-space:nowrap}
.ins-src-sel{width:160px;height:36px;flex-shrink:0}
@media(max-width:1100px){.ins-grid,.ins-grid-fn{grid-template-columns:minmax(0,1fr)}}
@media(max-width:768px){
  .ins-card,.stg-block{padding:16px}
  .ins-period{max-width:100%;overflow-x:auto}
  .ins-chart{gap:4px;height:150px}
  .ins-col-v{font-size:9px}
  .ins-t-src .ins-tr{grid-template-columns:minmax(0,1fr) 40px 48px 72px}
  .ins-t-src .ins-tr>:nth-child(4){display:none}
  .ins-t-cx .ins-tr{grid-template-columns:minmax(0,1fr) 40px 80px 56px}
  .ins-t-ref .ins-tr{grid-template-columns:minmax(0,1fr) 64px 72px}
  .ins-t-ref .ins-tr>:nth-child(4){display:none}
  .ins-t-ref .ins-tr small{display:none}
  .ins-fill{display:inline-flex;margin:4px 0 0}
  .ins-t-src .ins-n{white-space:normal;overflow:visible}
  .ins-src-sel{width:132px}
  .ins-t-month .ins-tr{grid-template-columns:minmax(0,1fr) auto;gap:2px 10px}
  .ins-t-month .ins-tr>:nth-child(2),.ins-t-month .ins-tr>:nth-child(3){display:none}
  .ins-t-month .ins-tr>:nth-child(4){grid-column:1}
  .ins-t-month .ins-tr>:nth-child(5){grid-column:2;grid-row:1}
  .ins-fn-r{grid-template-columns:84px minmax(0,1fr) 36px}
  .ins-fn-pass{padding-left:0}
  .stg-bh{flex-direction:column;gap:10px}
  .stg-save{align-self:flex-start}
  .stg-grid{grid-template-columns:minmax(0,1fr)}
  .stg-row{flex-direction:column;align-items:stretch}
  .stg-tr{flex-wrap:wrap}
  .stg-tn{flex-basis:calc(100% - 84px)}
  .stg-dist{overflow-x:auto}
  .stg-dr{min-width:640px}
}
.stg-wa{display:grid;grid-template-columns:minmax(0,260px) minmax(0,1fr);gap:12px;padding:12px 0;border-top:1px solid var(--border)}
.stg-wa:first-of-type{border-top:none}
@media(max-width:768px){.stg-wa{grid-template-columns:minmax(0,1fr)}}

/* ── Аналитика → Рынок (market.js) ── */
.ins-tabs button{padding:6px 14px;font-size:var(--fs-sm)}
.pp-actions .ins-tabs+.ins-period{margin-left:8px}
.mk-filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.mk-filters .cx-seg button{padding:6px 12px;font-size:var(--fs-sm)}
.mk-sel{height:34px;max-width:240px;font-size:var(--fs-sm)}
.mk-t{display:flex;flex-direction:column}
.mk-tr{display:grid;gap:12px;align-items:center;padding:9px 6px;border-top:1px solid var(--border);font-size:var(--fs-sm);color:var(--text-2)}
.mk-tr.th{border-top:none;padding-top:0;color:var(--text-3);font-size:var(--fs-cap)}
.mk-tr .r{text-align:right}
.mk-tr b{font-weight:600;color:var(--text)}
.mk-tr .ins-n svg{width:14px;height:14px;vertical-align:-2px;color:var(--text-3)}
.mk-t-d>.mk-tr{grid-template-columns:minmax(0,1.3fr) 110px minmax(0,1fr) minmax(0,1fr)}
.mk-t-c .mk-tr{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1fr)}
.mk-tr.open{background:var(--surface-2)}
.mk-who,.mk-upto,.mk-stale,.mk-cond{display:block;font-size:var(--fs-cap);font-weight:400;color:var(--text-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mk-upto{color:var(--amber)}
.mk-cond{display:inline;margin-left:4px;color:var(--indigo)}
.mk-stale{color:var(--amber)}
.mk-n{font-size:var(--fs-cap)}
.mk-sub{padding:4px 0 12px 22px;border-top:1px solid var(--border);background:var(--surface-2)}
.mk-subh{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:8px 6px;font-size:var(--fs-cap);color:var(--text-3)}
.mk-subh .cx-seg button{padding:4px 10px;font-size:var(--fs-cap)}
.mk-h{grid-template-columns:minmax(0,1.4fr) 90px 84px 110px}
.mk-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--green);margin-right:7px;vertical-align:1px}
.mk-prs{display:flex;flex-direction:column}
.mk-pr{padding:11px 6px;border-top:1px solid var(--border)}
.mk-pr:first-child{border-top:none}
.mk-pr-h{display:flex;align-items:baseline;gap:8px;font-size:var(--fs-sm)}
.mk-pr-h b{font-weight:600;color:var(--text)}
.mk-pr-h small{color:var(--text-3);font-size:var(--fs-cap)}
.mk-pr-t{font-size:var(--fs-body);color:var(--text);margin-top:2px;line-height:1.4}
.mk-tags{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px;font-size:var(--fs-cap);color:var(--text-3)}
.mk-tag{padding:2px 8px;border-radius:var(--r-full);background:var(--surface-2);border:1px solid var(--border);color:var(--text-2)}
.mk-tag.amber{background:var(--amber-soft);color:var(--amber);border-color:transparent}
.mk-tag.indigo{background:var(--indigo-soft);color:var(--indigo);border-color:transparent}
.mk-src a{color:var(--text-3);text-decoration:underline;text-underline-offset:2px}
.mk-src a:hover{color:var(--accent)}
.mk-ok{display:inline-flex;align-items:center;gap:3px;color:var(--green)}
.mk-ok svg{width:12px;height:12px}
.mk-more{margin-top:10px}
/* карточка дома */
.cxu-ner{display:flex;flex-direction:column;min-width:0}
.cxu-ner .mk-cond{margin:0}
.cxu-promo-go{background:none;border:none;padding:0;color:inherit;font:inherit;text-align:left;cursor:pointer;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mk-add{margin-left:auto}
.mk-hp{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-top:1px solid var(--border)}
.mk-hp.off .mk-pr-t{color:var(--text-3)}
.mk-hp-m{flex:1;min-width:0}
.mk-hp-a{display:flex;gap:6px;flex-shrink:0}
.mk-miss{display:flex;align-items:center;gap:6px;margin-top:6px;font-size:var(--fs-cap);color:var(--amber)}
.mk-miss svg{width:13px;height:13px}
.mk-q{margin-top:6px;font-size:var(--fs-cap);color:var(--text-3)}
.mk-q summary{cursor:pointer;width:max-content}
.mk-off{margin-top:8px;border-top:1px solid var(--border);padding-top:10px}
.mk-off>summary{cursor:pointer;font-size:var(--fs-sm);color:var(--text-3)}
.mk-form select,.mk-form input[type=date],.mk-form input[type=number]{width:100%;height:38px;padding:0 10px;font-size:var(--fs-body);color:var(--text)}
.mk-form [hidden]{display:none!important}
.mk-inrow{display:flex;gap:6px}
.mk-inrow select{width:84px;flex-shrink:0}
.mk-chks{flex-direction:row!important;flex-wrap:wrap;gap:8px 18px!important}
.mk-chk{display:inline-flex;align-items:center;gap:7px;font-size:var(--fs-sm);color:var(--text-2);cursor:pointer}
.mk-units{display:flex;gap:6px;flex-wrap:wrap}
@media(max-width:768px){
  #page-analytics .pp-actions{flex-wrap:wrap;gap:8px}
  #page-analytics .ins-tabs{width:100%}
  #page-analytics .ins-tabs button{flex:1}
  .pp-actions .ins-tabs+.ins-period{margin-left:0}
  .mk-filters{gap:8px;margin-bottom:12px}
  .mk-filters .cx-seg{flex:1 1 auto}
  .mk-filters .cx-seg button{flex:1}
  .mk-sel{flex:1 1 0;min-width:0;max-width:none}
  .mk-t-d>.mk-tr,.mk-h{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 8px}
  .mk-t-d>.mk-tr>:first-child,.mk-h>:first-child{grid-column:1/-1}
  .mk-t-d>.mk-tr.th>:first-child,.mk-h.th>:first-child{display:none}
  .mk-t-d .r,.mk-h .r{text-align:left}
  .mk-t-c .mk-tr{grid-template-columns:minmax(0,1fr);gap:2px}
  .mk-t-c .mk-tr .r{text-align:left}
  .mk-t-c .mk-tr.th{display:none}
  .mk-sub{padding-left:0}
  .mk-hp{flex-direction:column;gap:8px}
  .mk-hp-a{align-self:flex-end}
}
.mk-chk input{width:auto!important;height:auto!important;padding:0!important;margin:0}
.mk-tag.green{background:var(--green-soft);color:var(--green);border-color:transparent}
.cxu-ner-h{display:block;font-size:var(--fs-cap);color:var(--text-4);font-weight:400;line-height:1.2;margin-top:2px}
.cxu-movein{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:10px;font-size:var(--fs-sm);color:var(--green)}
.cxu-movein svg{width:15px;height:15px}
.cxu-movein small{color:var(--text-3);font-size:var(--fs-cap)}
.mk-t-u .mk-tr{grid-template-columns:minmax(0,1.3fr) 70px 70px minmax(0,1fr)}
@media(max-width:768px){
  .mk-t-u .mk-tr{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 8px}
  .mk-t-u .mk-tr>:first-child{grid-column:1/-1}
  .mk-t-u .mk-tr.th>:first-child{display:none}
  .mk-t-u .r{text-align:left}
}
/* карточка сделки: подходящие квартиры */
.pc-units{display:flex;flex-direction:column}
.pc-unit{display:flex;justify-content:space-between;gap:12px;padding:10px;border-radius:10px;cursor:pointer}
.pc-unit:hover{background:var(--surface-hover)}
.pc-unit.focus{background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent-line,var(--accent))}
.pc-unit b{font-weight:600}
.pc-unit small{display:block;font-size:var(--fs-cap);color:var(--text-3);margin-top:2px}
.pc-unit .r{text-align:right;white-space:nowrap}
.pc-umore{display:none;padding:0 0 6px 14px;border-left:2px solid var(--border);margin-left:10px}
.pc-ugrp.open .pc-umore{display:block}
.pc-umore .pc-unit{padding:6px 10px}
.pc-umore .pc-unit small{margin-top:0}
