/* ═══ Деньги: сводка, инвойсы, контракты, окно инвойса — только var(--…) ═══ */

.mn-top{margin-bottom:16px}
.mn-top .tdm-top{grid-template-columns:minmax(0,1fr) 440px}
.mn-chart .tdm-col-l{white-space:nowrap}
.mn-chart.dense{gap:5px}
.mn-chart.dense .tdm-col-v{visibility:hidden}
.mn-chart.dense .tdm-col.sel .tdm-col-v,.mn-chart.dense .tdm-col:hover .tdm-col-v{visibility:visible}
.mn-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;flex-wrap:wrap}
.mn-bar .pp-search{width:260px}
.mn-tabs button{padding:6px 14px;font-size:var(--fs-sm)}
.mn-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.mn-filters:empty{display:none}

.mn-table{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);overflow:hidden}
.mn-grid,.mn-ct{display:grid;gap:0 20px;align-items:center;padding:0 16px}
.mn-grid{grid-template-columns:minmax(180px,1.6fr) 72px 92px 104px 84px 96px 168px 56px 44px}
.mn-ct{grid-template-columns:minmax(150px,1.3fr) minmax(150px,1.2fr) 96px minmax(170px,1fr) 96px 110px}
.mn-th{height:42px;font-size:var(--fs-sm);color:var(--text-3);border-bottom:1px solid var(--border)}
.mn-th svg{width:14px;height:14px;vertical-align:-2px}
.mn-tr{min-height:58px;border-bottom:1px solid var(--border);font-size:var(--fs-sm);color:var(--text-2);cursor:pointer;
  transition:background-color var(--dur-hover) ease;animation:rise var(--dur-enter) var(--ease-out) backwards;animation-delay:calc(var(--i,0) * 28ms)}
.mn-tr:last-child{border-bottom:none}
.mn-tr:hover{background:var(--surface-hover)}
.mn-grid .r,.mn-ct .r{text-align:right}
.mn-who,.mn-cx{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mn-who{display:flex;flex-direction:column;line-height:1.3;padding:8px 0;white-space:normal}
.mn-who b{overflow-wrap:anywhere}
.mn-who small{font-size:var(--fs-cap);color:var(--text-3);overflow:hidden;text-overflow:ellipsis}
.t-green{color:var(--green)}
.mn-who b{font-size:var(--fs-body);font-weight:600;color:var(--text)}
.mn-cx small{color:var(--text-3);font-size:var(--fs-sm)}
.mn-amt{display:flex;flex-direction:column;align-items:flex-end;line-height:1.25}
.mn-amt b{font-size:var(--fs-body);font-weight:600;color:var(--text)}
.mn-amt small{font-size:var(--fs-cap);color:var(--text-3)}
.mn-files{display:inline-flex;align-items:center;justify-content:flex-end;gap:3px}
.mn-files svg{width:13px;height:13px}
.mn-card,.mn-mlist,.mn-mtop{display:none}
.mn-note{display:flex;align-items:center;gap:8px;padding:12px 14px;border-radius:var(--r-md);background:var(--surface-hover);color:var(--text-2);font-size:var(--fs-sm);white-space:pre-wrap}
.mn-note svg{width:16px;height:16px;color:var(--accent);flex-shrink:0}
.mn-acts{display:flex;gap:8px;flex-wrap:wrap}

/* окно инвойса */
.inv-file{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--r-md);margin-bottom:6px;background:var(--surface)}
.inv-fic{width:30px;height:30px;border-radius:var(--r-xs);background:var(--accent-soft);color:var(--accent);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.inv-fic svg{width:15px;height:15px}
.inv-fn{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text);text-decoration:none}
.inv-fn:hover{color:var(--accent)}
.inv-fs{font-size:var(--fs-cap);color:var(--text-3)}
.inv-drop{display:flex;align-items:center;justify-content:center;gap:10px;padding:20px 14px;border:1px dashed var(--border-strong);border-radius:var(--r-md);
  color:var(--text-3);font-size:var(--fs-sm);cursor:pointer;text-align:center;transition:border-color var(--dur-hover) ease,background-color var(--dur-hover) ease}
.inv-drop:hover,.inv-drop.over{border-color:var(--accent);background:var(--accent-soft);color:var(--text)}
.inv-drop svg{width:18px;height:18px}
.inv-lang button{padding:4px 10px;font-size:var(--fs-cap)}
.inv-text{width:100%;min-height:190px;padding:12px 14px;font-size:var(--fs-sm);line-height:1.55;resize:vertical}
.inv-meta{margin-top:6px;font-size:var(--fs-cap);color:var(--text-3)}
.inv-paid{display:flex;flex-direction:column;gap:10px;padding:14px;border:1px solid var(--accent-line);border-radius:var(--r-md);background:var(--accent-soft)}
.inv-paid label{display:flex;flex-direction:column;gap:4px;min-width:0;font-size:var(--fs-cap);color:var(--text-3)}
.inv-paid input{height:36px;padding:0 10px;width:100%;min-width:0}
.inv-foot{flex-shrink:0;display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;padding:12px 24px;border-top:1px solid var(--border);background:var(--surface-2)}

@media(max-width:1200px){
  .mn-top .tdm-top{grid-template-columns:minmax(0,1fr) 340px}
  .mn-grid{grid-template-columns:minmax(150px,1.5fr) 64px 84px 96px 76px 86px 156px 40px 36px;gap:0 12px}
}
@media(max-width:768px){
  .mn-bar{flex-wrap:wrap}
  .mn-bar .pp-search{flex:1 0 100%;width:100%;min-width:0;order:2}
  /* окно инвойса на телефоне: текст напоминания растягивается до кнопок */
  .inv-rem{flex:1 0 auto;display:flex;flex-direction:column}
  .inv-rem .inv-text{flex:1;min-height:220px}
  .mn-tabs{flex-shrink:0}
  .mn-filters{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 calc(-1 * var(--page-pad)) 12px;padding:0 var(--page-pad)}
  .mn-filters::-webkit-scrollbar{display:none}
  .mn-filters .pp-chip{flex-shrink:0}
  .mn-table{border:none;background:none;display:flex;flex-direction:column;gap:8px;border-radius:0}
  .mn-th,.mn-tr{display:none}
  .mn-card{display:flex;flex-direction:column;gap:6px;padding:12px 14px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);cursor:pointer}
  .mn-c1{display:flex;justify-content:space-between;gap:10px}
  .mn-c1 b{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .mn-c1 span{font-weight:600;white-space:nowrap}
  .mn-c2{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:var(--fs-sm);color:var(--text-3)}
  .mn-c2>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
  .mn-c3{display:flex;align-items:center;gap:4px;font-size:var(--fs-cap);color:var(--text-3)}
  .mn-c3 svg{width:12px;height:12px}
  .inv-foot{padding:10px 16px calc(10px + env(safe-area-inset-bottom));justify-content:stretch}
  .inv-foot .btn{flex:1;min-height:var(--tap)}
  .inv-foot .btn-primary{flex-basis:100%;order:-1}
}
.mn-more{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:12px;border:none;border-top:1px solid var(--border);
  background:none;color:var(--text-3);font-size:var(--fs-sm);cursor:pointer}
.mn-more:hover{color:var(--accent);background:var(--surface-hover)}
.mn-more svg{width:15px;height:15px}

/* окно инвойса: ссылки на клиента и комплекс, кнопка «+ Файл» */
.inv-link{background:none;border:none;padding:0;font:inherit;color:inherit;cursor:pointer;text-align:left;text-decoration:underline;text-decoration-color:var(--border-strong);text-underline-offset:3px}
.inv-link:hover{color:var(--accent);text-decoration-color:var(--accent)}
.inv-hsum{font-weight:600;color:var(--text)}
.inv-drop-m{display:none}

/* ═══ Телефон ═══ */
@media(max-width:768px){
  #page-finance #mn-period{display:none}
  #page-finance .pp-head{display:none}   /* новый инвойс — через «+» внизу */
  .mn-top{display:none}
  .mn-mtop{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}
  .mn-mseg{display:flex;width:100%}
  .mn-mseg button{flex:1;min-height:40px}
  .mn-mcard{padding:12px 16px 16px;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);touch-action:pan-y}
  .mn-mnav{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 -8px 4px}
  .mn-mnav b{font-size:var(--fs-body);font-weight:600}
  .mn-mnav .btn:disabled{opacity:.3}
  .mn-msum{font-family:var(--font-display);font-size:40px;font-weight:600;line-height:1.1;letter-spacing:var(--ls-display);margin-bottom:12px}
  .mn-mcard .tdm-bar{margin-bottom:8px}
  .mn-mcap{font-size:var(--fs-sm);color:var(--text-3)}
  .mn-mcap b{color:var(--text-2);font-weight:600}
  .mn-mfacts{font-size:var(--fs-sm);color:var(--text-3);padding:0 2px}
  .mn-mfacts button{background:none;border:none;padding:4px 0;font:inherit;color:inherit;cursor:pointer}
  .mn-mfacts b{font-weight:600}

  .mn-table{display:none}
  .mn-mlist{display:flex;flex-direction:column;gap:18px}
  .mn-grp-h{display:flex;justify-content:space-between;gap:12px;padding:0 4px 8px;font-size:var(--fs-sm);font-weight:600;color:var(--text-2)}
  .mn-grp-h span:last-child{color:var(--text-3);font-variant-numeric:tabular-nums}
  .mn-grp-b{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);overflow:hidden}
  .mn-sw{position:relative;overflow:hidden;border-bottom:1px solid var(--border)}
  .mn-sw:last-child{border-bottom:none}
  .mn-sw-acts{position:absolute;top:0;right:0;bottom:0;display:flex;width:184px}
  .mn-sw-acts button{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border:none;font:inherit;font-size:var(--fs-cap);font-weight:600;cursor:pointer}
  .mn-sw-acts svg{width:18px;height:18px}
  .mn-sw-acts .a-rem{background:var(--amber-soft);color:var(--amber)}
  .mn-sw-acts .a-paid{background:var(--green-soft);color:var(--green)}
  .mn-row{position:relative;z-index:1;min-height:64px;padding:12px 16px;background:var(--surface);display:flex;flex-direction:column;gap:3px;cursor:pointer;
    transition:transform var(--dur-sheet,.28s) var(--ease-out);touch-action:pan-y;-webkit-tap-highlight-color:transparent}
  .mn-row:active{background:var(--surface-hover)}
  .mn-r1,.mn-r2{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
  .mn-r1 b{font-size:16px;font-weight:500;color:var(--text);min-width:0;overflow-wrap:anywhere}
  .mn-r1 span{font-size:16px;font-weight:600;color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap}
  .mn-r2{font-size:var(--fs-sm);color:var(--text-2)}
  .mn-r2>span:first-child{min-width:0;overflow-wrap:anywhere}
  .mn-r2>span:last-child{white-space:nowrap;font-weight:500}
  .mn-r3{font-size:13px;color:var(--text-3);line-height:1.4;overflow-wrap:anywhere}
  .mn-clip{display:inline-flex;align-items:center;gap:2px;white-space:nowrap}
  .mn-clip svg{width:12px;height:12px}
  .mn-more{border:1px solid var(--border);border-radius:var(--r-lg)}

  /* окно инвойса: факты списком — подпись слева, значение справа */
  .inv-facts{display:flex;flex-direction:column;grid-template-columns:none}
  .inv-facts .pc-fact{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:6px 14px;border-bottom:1px solid var(--border)}
  .inv-facts .pc-fact:last-child{border-bottom:none}
  .inv-facts .pc-fact-l{margin:0;font-size:var(--fs-sm);flex-shrink:0}
  .inv-facts .pc-fact-v{flex:1;min-width:0;display:flex;justify-content:flex-end;text-align:right;white-space:normal;overflow:visible}
  .inv-facts .pc-fact-v>.qe{width:auto;margin-right:-6px;justify-content:flex-end}
  .inv-facts .qe>*:not(.qe-pen){overflow:visible;white-space:nowrap}
  .inv-facts .qe .qe-pen{opacity:.45;margin-left:2px}
  .inv-facts .inv-net{display:none}
  .pc:has(#inv-body) .pc-ttl h2{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.25}
  .inv-file{min-height:52px;-webkit-touch-callout:none;user-select:none}
  .inv-fx{display:none}
  .inv-drop{padding:0;border:1px solid var(--border-strong);border-style:solid;min-height:var(--tap);color:var(--text)}
  .inv-drop>svg,.inv-drop-l{display:none}
  .inv-drop-m{display:inline-flex;align-items:center;gap:6px;font-weight:500}
  .inv-lg{display:none}
  .inv-text{min-height:200px}
}
/* «Оплачен»: спросить дату и сумму */
.mn-ask-ov{position:fixed;inset:0;z-index:9100;background:var(--overlay);display:flex;align-items:center;justify-content:center;padding:16px}
.mn-ask{width:360px;max-width:100%;display:flex;flex-direction:column;gap:12px;padding:20px;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--r-modal)}
.mn-ask-h{display:flex;flex-direction:column;gap:2px}
.mn-ask-h b{font-size:var(--fs-h3,18px)}
.mn-ask-h span{font-size:var(--fs-sm);color:var(--text-3)}
.mn-ask label{display:flex;flex-direction:column;gap:4px;font-size:var(--fs-cap);color:var(--text-3)}
.mn-ask input{height:44px;padding:0 12px;width:100%;min-width:0;font-size:16px}
.mn-ask-b{display:flex;gap:8px}
.mn-ask-b .btn{flex:1;min-height:var(--tap)}
@media(max-width:768px){
  .mn-ask-ov{align-items:flex-end;padding:0}
  .mn-ask{width:100%;border-radius:var(--r-modal) var(--r-modal) 0 0;padding:20px 16px calc(16px + env(safe-area-inset-bottom))}
}
