/* ============ CABINET (desktop) ============ */
.cabinet-screen{display:none;position:fixed;inset:0;background:#f7f8fa;z-index:50;flex-direction:row;font-family:"Segoe UI",-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;font-size:15px;line-height:1.5;color:#1f2430;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
.cabinet-screen input,.cabinet-screen select,.cabinet-screen button{font-family:inherit}
.cabinet-screen.show{display:flex}
.cab-sidebar{width:240px;background:#fff;border-right:1px solid #e5e7eb;display:flex;flex-direction:column;flex-shrink:0;overflow-y:auto}
.cab-sidebar-logo{display:flex;align-items:center;gap:10px;padding:20px 18px 16px}
.cab-sidebar-logo img{border-radius:9px}
.cab-sidebar-logo span{font-size:19px;font-weight:600;color:#1a1a2e}
.cab-nav{flex:1;padding:8px 10px}
.cab-nav-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;cursor:pointer;font-size:15px;font-weight:500;color:#4a5260;transition:all 0.15s;margin-bottom:2px;border:none;background:none;width:100%;text-align:left}
.cab-nav-item:hover{background:#f7f8fa;color:#1a1a2e}
.cab-nav-item.active{background:#f0ecf9;color:#6C4DB8;font-weight:600}
.cab-nav-item i{font-size:20px;width:24px;text-align:center;flex-shrink:0}
.cab-nav-divider{height:1px;background:#e5e7eb;margin:10px 12px}
.cab-nav-badge{font-size:11px;font-weight:700;background:#6C4DB8;color:#fff;padding:2px 7px;border-radius:6px;margin-left:auto}
.cab-sidebar-bottom{padding:14px 18px;border-top:1px solid #e5e7eb}
.cab-sidebar-user{font-size:14px;font-weight:600;color:#1a1a2e}
.cab-sidebar-role{font-size:12px;color:#6b7280;margin-top:2px}
.cab-sidebar-logout{display:flex;align-items:center;gap:6px;margin-top:12px;background:none;border:1px solid #d5d8dd;border-radius:8px;padding:9px 14px;font-size:14px;color:#4a5260;cursor:pointer;font-weight:500;width:100%}
.cab-sidebar-logout:hover{background:#f7f8fa}
.cab-main{flex:1;overflow:auto;padding:28px 32px;min-width:0}
/* В кабинете текст НИКОГДА не переносится: блоки расширяются, а узкое окно листается вбок */
.cab-main,.cab-main *{white-space:nowrap}
.cab-main-title{font-size:24px;font-weight:600;color:#1a1a2e;margin-bottom:20px}
/* Обзор */
.cab-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:28px;overflow-x:auto;padding-bottom:2px}
.cab-stat-card{min-width:max-content}
.cab-stat-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:18px 16px;display:flex;flex-direction:column;gap:4px}
.cab-stat-val{font-size:28px;font-weight:700;color:#1a1a2e}
.cab-stat-val.green{color:#16a34a}
.cab-stat-label{font-size:14px;color:#6b7280}
.cab-table-wrap{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:18px;margin-bottom:24px;overflow-x:auto}
.cab-table-title{font-size:16px;font-weight:600;color:#1a1a2e;margin-bottom:14px}
.cab-table{width:100%;border-collapse:collapse;font-size:14px;line-height:1.45}
/* Ячейки таблиц кабинета не переносятся: при узком окне таблица шире и прокручивается внутри белой рамки */
.cab-table th,.cab-table td{white-space:nowrap}
.cab-table{background:#fff}
.cab-table th{text-align:left;padding:9px 10px;color:#6b7280;font-weight:600;font-size:13px;border-bottom:2px solid #dfe2e7}
.cab-table td{padding:11px 10px;color:#1a1a2e;border-bottom:1px solid #dfe2e7}
.cab-table tr:last-child td{border-bottom:none}
.cab-table .status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px}
.cab-table .val-green{color:#16a34a;font-weight:600}
.cab-table .val-red{color:#dc2626;font-weight:600}
.cab-table .val-purple{color:#6C4DB8;font-weight:600}
/* Заглушка */
.cab-stub{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;color:#6b7280}
.cab-stub i{font-size:56px;margin-bottom:16px;color:#d5d8dd}
.cab-stub-title{font-size:20px;font-weight:600;color:#5f6470;margin-bottom:6px}
.cab-stub-text{font-size:15px}
/* Cabinet responsive for smaller screens */
@media(max-width:900px){
  .cab-sidebar{width:210px}
  .cab-main{padding:20px 18px}
}
@media(max-width:640px){
  .cabinet-screen.show{flex-direction:column}
  .cab-sidebar{width:100%;border-right:none;border-bottom:1px solid #e5e7eb;flex-direction:row;overflow-x:auto;overflow-y:hidden;flex-shrink:0}
  .cab-sidebar-logo{display:none}
  .cab-nav{display:flex;flex-direction:row;padding:6px 10px;gap:4px;flex:1;overflow-x:auto}
  .cab-nav-item{white-space:nowrap;padding:8px 12px;font-size:13px}
  .cab-nav-divider{display:none}
  .cab-sidebar-bottom{display:none}
  .cab-main{padding:16px}
}
/* Filter row (Приходы) */
.cab-filter-row{display:flex;gap:6px;margin-bottom:16px;flex-wrap:nowrap}
.cab-filter-btn{flex-shrink:0;padding:8px 16px;border-radius:8px;border:1px solid #dfe2e7;background:#fff;font-size:14px;font-weight:500;color:#4a5260;cursor:pointer;transition:all 0.15s}
.cab-filter-btn:hover{background:#f7f8fa;color:#1a1a2e}
.cab-filter-btn.active{background:#6C4DB8;color:#fff;border-color:#6C4DB8}
/* Settings grid */
.cab-settings-grid{display:flex;flex-direction:column;gap:0}
.cab-settings-row{display:flex;align-items:center;padding:10px 0;border-bottom:1px solid #f3f4f6}
.cab-settings-row:last-child{border-bottom:none}
.cab-settings-label{min-width:190px;padding-right:12px;font-size:14px;color:#6b7280;flex-shrink:0}
.cab-settings-value{font-size:15px;font-weight:500;color:#1a1a2e}
@media(max-width:640px){
  .cab-settings-label{min-width:120px;font-size:12px}
}

/* Клиент → «Приходы клиента»: одна сетка на все строки (subgrid) — колонки строго друг под другом */
.cab-cships{display:grid;grid-template-columns:34px repeat(7,max-content) minmax(0,1fr) 0;column-gap:20px;min-width:max-content}
.cab-cship{grid-column:1/-1;display:grid;grid-template-columns:subgrid;border:1px solid #dfe2e7;border-radius:10px;margin-bottom:10px;background:#fff}
.cab-cship-row{grid-column:1/-1;display:grid;grid-template-columns:subgrid;align-items:center;padding:10px 0}
.cab-cship-row>:first-child{justify-self:end}
.cab-cship-head{border-color:transparent;background:none;margin-bottom:0}
.cab-cship-head .cab-cship-row{padding-top:0;padding-bottom:4px;font-size:12px;color:#6b7280;font-weight:600}
