/* «Моя зп» — личный раздел владельца (public/js/my-salary.js). Цвета — только через переменные темы. */
.ms-date{height:40px;padding:0 10px;box-sizing:border-box;background:var(--white);border:1px solid var(--s2);border-radius:12px;font:600 13px var(--font-body);color:var(--text);}
.ms-note{margin:-4px 2px 14px;font-size:12px;line-height:1.6;color:var(--muted);}
.ms-note b{color:var(--text);}
.ms-cards{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px;}
.ms-card{flex:1 1 170px;min-width:150px;padding:12px 14px;background:var(--white);border:1px solid var(--s2);border-radius:14px;}
.ms-card-l{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.4px;}
.ms-card-v{margin-top:4px;font-size:18px;font-weight:800;color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap;}
.ms-card-s{margin-top:3px;font-size:11px;color:var(--muted);}
.ms-card.neg .ms-card-v{color:#E5484D;}
.ms-card--main{flex:2 1 300px;background:var(--red);border-color:var(--red);}
.ms-card--main .ms-card-l,.ms-card--main .ms-card-s{color:rgba(255,255,255,.82);}
.ms-card--main .ms-card-v{color:#fff;font-size:26px;}
#ms-content{flex:1;min-height:0;display:flex;flex-direction:column;}
/* Таблица прокручивается сама (как в «Аналитике товаров»): шапка и «Итого» прилипают, а карточки выше стоят на месте.
   contain — браузер не пересчитывает и не перерисовывает остальную страницу при скролле. */
.ms-scroll{flex:1;min-height:0;overflow:auto;background:var(--white);border:1px solid var(--s2);border-radius:14px;contain:layout paint;}
.ms-table{width:100%;border-collapse:separate;border-spacing:0;font-size:12px;min-width:1100px;}   /* separate: при collapse границы липких ячеек уезжают при скролле */
.ms-table th{height:34px;box-sizing:border-box;padding:0 10px;font-size:11px;font-weight:700;color:var(--muted);text-align:right;white-space:nowrap;background:var(--s1);box-shadow:inset 0 -1.5px 0 var(--s2);cursor:pointer;user-select:none;position:sticky;top:0;z-index:3;}
.ms-table th.left,.ms-table td.left{text-align:left;}
.ms-table th:hover{color:var(--text);}
.ms-table td{padding:7px 10px;text-align:right;white-space:nowrap;border-bottom:1px solid var(--s2);font-variant-numeric:tabular-nums;}
.ms-table tbody tr:nth-child(even){background:rgba(127,127,127,.04);}   /* зебра на строке, а не на каждой ячейке — меньше слоёв при отрисовке */
/* «Итого» закреплена под шапкой: top = высота шапки (34px, задана явно выше) */
.ms-table tr.ms-total td{position:sticky;top:34px;z-index:2;height:34px;box-sizing:border-box;font-weight:800;background:var(--s1);box-shadow:inset 0 -1.5px 0 rgba(59,130,246,.28);border-bottom:none;}
.ms-table .ms-name{display:flex;align-items:center;gap:10px;min-width:260px;max-width:360px;white-space:normal;}
.ms-table .ms-name img{width:36px;height:36px;border-radius:6px;object-fit:cover;flex:none;background:var(--s1);}
.ms-table .ms-name-t{min-width:0;}
.ms-table .ms-art{font-size:11px;color:var(--muted);}
.ms-table .ms-nm{font-size:12px;line-height:1.3;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;}
.ms-table .ms-tag{display:inline-block;padding:1px 8px;border-radius:10px;font-size:11px;font-weight:600;background:var(--s1);color:var(--text);}
.ms-pos{color:var(--green,#22c55e);font-weight:700;}
.ms-neg{color:#E5484D;font-weight:700;}
.ms-mut{color:var(--muted);}
.ms-sal{font-weight:800;}
.ms-info{color:#d97706;font-weight:700;}   /* расчётная зп товара с прибылью ≤ 0 — в итог не входит */
.ms-pop{position:absolute;z-index:50;top:46px;left:0;min-width:220px;max-height:320px;overflow-y:auto;padding:6px;background:var(--white);border:1px solid var(--s2);border-radius:12px;box-shadow:0 8px 24px rgba(25,18,24,.14);}
.ms-pop-row{display:flex;align-items:center;gap:8px;padding:7px 8px;border-radius:8px;font-size:13px;cursor:pointer;}
.ms-pop-row:hover{background:var(--s1);}
.ms-pop-row input{margin:0;}
.ms-pop-n{margin-left:auto;font-size:11px;color:var(--muted);}
.ms-pop-empty{padding:10px;font-size:12px;color:var(--muted);}
