/* mobile + salary/object usability */
.header-main{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}
header h1{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mobile-menu-toggle{display:inline-flex;align-items:center;justify-content:center;min-width:42px;min-height:42px;font-size:20px;flex:0 0 auto}
.site-sidebar-overlay{position:fixed;inset:0;background:rgba(15,23,42,.34);z-index:84;opacity:0;pointer-events:none;transition:opacity .2s ease}
.site-sidebar-overlay.show{opacity:1;pointer-events:auto}
.site-sidebar{position:fixed;left:0;top:0;bottom:0;width:min(330px,88vw);background:#fff;z-index:85;box-shadow:10px 0 30px rgba(15,23,42,.18);transform:translateX(-105%);transition:transform .22s ease;display:flex;flex-direction:column}
.site-sidebar.show{transform:translateX(0)}
.site-sidebar-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 16px;border-bottom:1px solid #e4e7eb;background:#0f3460;color:#fff}
.site-sidebar-head strong{font-size:18px;letter-spacing:.02em}
.site-sidebar-close{border:0;background:rgba(255,255,255,.15);color:#fff;border-radius:7px;min-width:36px;min-height:36px;font-size:22px;cursor:pointer}
.site-sidebar-nav{padding:12px;overflow:auto;flex:1}
.sidebar-group{display:none;border-bottom:1px solid #eef0f3;padding:6px 0}
.sidebar-group.visible{display:block}
.sidebar-group-toggle{width:100%;border:0;background:transparent;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 10px;border-radius:8px;color:#16213e;font-size:15px;font-weight:700;text-align:left;cursor:pointer}
.sidebar-group-toggle:hover{background:#f3f6fa}
.sidebar-group-toggle .arrow{transition:transform .18s ease;color:#667085}
.sidebar-group.open .sidebar-group-toggle .arrow{transform:rotate(90deg)}
.sidebar-submenu{display:none;padding:0 4px 8px 10px}
.sidebar-group.open .sidebar-submenu{display:grid;gap:4px}
.site-sidebar .tab-btn{display:block;width:100%;padding:10px 12px;border:0;border-radius:7px;background:transparent;text-align:left;color:#475467;font-size:14px;cursor:pointer}
.site-sidebar .tab-btn:hover{background:#f5f7fa;color:#0f3460}
.site-sidebar .tab-btn.active{background:#eaf2fb;color:#0f3460;font-weight:700}
.site-sidebar-foot{border-top:1px solid #e4e7eb;padding:12px 16px;background:#fafbfc}
.site-sidebar-user{font-size:12px;color:#475467;margin-bottom:8px}
.site-sidebar-actions{display:flex;gap:6px;flex-wrap:wrap}
.site-sidebar-actions button{border:0;border-radius:6px;padding:7px 9px;font-size:12px;cursor:pointer}
.site-sidebar-actions .logout{background:#fee4e2;color:#b42318}
.tabs{display:none!important}
.module-placeholder{min-height:260px;display:flex;align-items:center;justify-content:center}
.module-placeholder-inner{max-width:620px;text-align:center;padding:28px}
.module-placeholder-inner h2{margin-bottom:10px;color:#16213e}
.module-placeholder-inner p{color:#667085;line-height:1.5}
.deals-toolbar{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;flex-wrap:wrap;margin-bottom:14px}
.deals-toolbar h2{margin:0 0 4px}
.deals-toolbar p{font-size:12px;color:#667085;max-width:760px;line-height:1.45}
.deals-actions{display:flex;gap:7px;flex-wrap:wrap;align-items:center}
.deals-import-org{min-width:190px;display:none}
.deals-filters{display:grid;grid-template-columns:minmax(260px,1fr) minmax(190px,240px);gap:10px;margin:12px 0}
.deals-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0}
.deals-summary-item{padding:12px;border:1px solid #e4e7eb;border-radius:9px;background:#fafbfc}
.deals-summary-item label{display:block;font-size:11px;color:#667085;margin-bottom:4px}
.deals-summary-item b{font-size:17px;color:#16213e}
.deals-table-wrap{overflow:auto;border:1px solid #e4e7eb;border-radius:10px}
#dealsTable{min-width:1650px;margin:0}
#dealsTable th{position:sticky;top:0;z-index:2;background:#f8fafc;white-space:nowrap}
#dealsTable td{vertical-align:top}
.deal-main-row.status-quiet td{background:#f8fafc}.deal-main-row.status-quiet td:first-child{border-left:5px solid #98a2b3}
.deal-main-row.status-current td{background:#ecfeff}.deal-main-row.status-current td:first-child{border-left:5px solid #06b6d4}
.deal-main-row.status-attention td{background:#fffbea}.deal-main-row.status-attention td:first-child{border-left:5px solid #facc15}
.deal-main-row.status-urgent td{background:#fff1f1}.deal-main-row.status-urgent td:first-child{border-left:5px solid #ef4444}
.deal-main-row.status-completed td{background:#eefcf2}.deal-main-row.status-completed td:first-child{border-left:5px solid #16a34a}
.deal-main-row:hover td{filter:brightness(.985)}
.deal-status{display:inline-flex;align-items:center;padding:3px 8px;border-radius:999px;font-size:11px;font-weight:700;white-space:nowrap}
.deal-status.quiet{background:#f2f4f7;color:#475467}.deal-status.current{background:#cffafe;color:#155e75}.deal-status.attention{background:#fef9c3;color:#854d0e}.deal-status.urgent{background:#fee2e2;color:#991b1b}.deal-status.completed{background:#dcfce7;color:#166534}
.deal-inline-status{min-width:150px;padding:6px 8px;border:1px solid rgba(71,84,103,.28);border-radius:6px;background:rgba(255,255,255,.78);font-size:12px}
.deal-inline-number{width:128px;padding:6px 7px;border:1px solid rgba(71,84,103,.28);border-radius:6px;background:rgba(255,255,255,.82);font-size:12px}
.deal-cell-stack{display:grid;gap:5px;min-width:125px}
.deal-cell-meta{font-size:11px;color:#475467}
.deal-cell-add{justify-self:start;padding:3px 7px!important;font-size:11px!important}
.counterparty-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.counterparty-toolbar h2{margin:0 0 4px}.counterparty-toolbar p{font-size:12px;color:#667085}
.counterparty-search{width:min(520px,100%);margin:0 0 12px}
.counterparty-table-wrap{overflow:auto;border:1px solid #e4e7eb;border-radius:10px}
#counterpartiesTable{min-width:1050px;margin:0}
.counterparty-type{display:inline-block;padding:3px 8px;border-radius:999px;background:#eef4ff;color:#3538cd;font-size:11px;font-weight:700}
.counterparty-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.counterparty-contact-row{display:grid;grid-template-columns:1.2fr 1fr 1fr 1.2fr auto;gap:7px;align-items:end;margin:7px 0;padding:9px;border:1px solid #eaecf0;border-radius:8px;background:#fafbfc}
.counterparty-contact-row .form-group{margin:0}
.object-customer-line{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;align-items:center}
.kpss-toolbar{display:flex;gap:8px;align-items:end;flex-wrap:wrap;margin:12px 0}
.kpss-toolbar .form-group{margin:0;min-width:150px}
.kpss-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0}
.kpss-summary-item{padding:12px;border:1px solid #dce4ef;border-radius:9px;background:#f8fafc}
.kpss-summary-item label{display:block;font-size:11px;color:#667085;margin-bottom:4px}.kpss-summary-item b{font-size:18px;color:#16213e}
.kpss-table-wrap{overflow:auto;border:1px solid #dfe5ec;border-radius:10px;background:#fff}
.kpss-table{min-width:1700px;margin:0;border-collapse:separate;border-spacing:0}
.kpss-table th,.kpss-table td{padding:8px 9px;border-right:1px solid #edf0f3;border-bottom:1px solid #edf0f3;text-align:right;white-space:nowrap;font-size:12px}
.kpss-table thead th{position:sticky;top:0;z-index:3;background:#16213e;color:#fff;text-align:center}
.kpss-table th:first-child,.kpss-table td:first-child{position:sticky;left:0;z-index:2;text-align:left;min-width:315px;max-width:315px;white-space:normal}
.kpss-table thead th:first-child{z-index:4;background:#16213e}
.kpss-table tbody td:first-child{background:#fff}
.kpss-table tr.kpss-section td{background:#eef4fb!important;color:#344054;font-weight:700;text-align:left;border-top:1px solid #cfd9e6}
.kpss-table tr.kpss-total td{font-weight:800;background:#f0fdf4}
.kpss-table tr.kpss-movement-total td{font-weight:800;background:#fff7ed}
.kpss-table td.negative{color:#b42318;font-weight:700}
.kpss-row-label{display:flex;gap:7px;align-items:center;justify-content:space-between}
.kpss-source{font-size:9px;padding:2px 5px;border-radius:999px;background:#eef4ff;color:#3538cd;font-weight:700;flex:0 0 auto}
.kpss-source.manual{background:#fff4e5;color:#b54708}
.kpss-source.mixed{background:#ecfdf3;color:#067647}
.kpss-hint{font-size:12px;color:#667085;line-height:1.5;margin:8px 0 12px}
.kpss-edit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.kpss-edit-section{grid-column:1/-1;margin-top:6px;padding:8px 10px;background:#f8fafc;border:1px solid #e4e7ec;border-radius:8px;font-size:12px;font-weight:700;color:#344054}
.kpss-auto-info{font-size:12px;line-height:1.5;padding:10px;background:#f0f7ff;border:1px solid #d8e8fb;border-radius:8px;margin-bottom:12px}
@media(max-width:768px){.kpss-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.kpss-edit-grid{grid-template-columns:1fr}.kpss-toolbar{align-items:stretch}.kpss-toolbar .form-group,.kpss-toolbar .btn{width:100%}}
.loan-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:10px;margin:12px 0}
.loan-summary-item{padding:12px;border:1px solid #e4e7eb;border-radius:9px;background:#fafbfc}
.loan-summary-item label{display:block;font-size:11px;color:#667085;margin-bottom:4px}.loan-summary-item b{font-size:18px}
.loan-table-wrap{overflow:auto;border:1px solid #e4e7eb;border-radius:10px}#loansTable{min-width:1450px;margin:0}
.loan-lender-row{cursor:pointer}
.loan-lender-row td{background:#f8fafc;font-weight:600}
.loan-lender-row:hover td{background:#f1f5f9}
.loan-lender-toggle{border:0;background:transparent;color:#16213e;font:inherit;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:8px;text-align:left;padding:0}
.loan-lender-arrow{display:inline-block;transition:transform .18s ease;color:#667085;font-size:18px}
.loan-lender-row.open .loan-lender-arrow{transform:rotate(90deg)}
.loan-lender-count{display:block;font-size:11px;color:#667085;font-weight:500;margin-top:3px}
.loan-lender-detail-row{display:none}
.loan-lender-detail-row.show{display:table-row}
.loan-lender-detail-cell{padding:0!important;background:#fff!important}
.loan-lender-inner{padding:12px 14px 16px 34px;overflow:auto}
.loan-lender-inner table{min-width:1300px;margin:0;border:1px solid #e4e7eb}
.loan-lender-inner th{background:#f8fafc;font-size:11px}
.loan-lender-inner td{background:#fff;font-weight:400}
.loan-attachments{display:flex;flex-direction:column;gap:7px;margin-top:10px}
.loan-attachment-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border:1px solid #e4e7eb;border-radius:8px;background:#fff}
.loan-attachment-main{min-width:0;display:flex;align-items:center;gap:8px}
.loan-attachment-name{font-size:12px;font-weight:600;color:#344054;word-break:break-word}
.loan-attachment-meta{font-size:10px;color:#667085;margin-top:2px}
.loan-attachment-actions{display:flex;gap:6px;flex:0 0 auto}
.loan-attachment-pending{background:#fffaeb;border-color:#fedf89}
.loan-file-help{font-size:11px;color:#667085;margin:6px 0}
.loan-repayment-row{display:grid;grid-template-columns:160px 180px minmax(220px,1fr) auto;gap:7px;align-items:end;margin:7px 0}
@media(max-width:700px){.counterparty-card-grid{grid-template-columns:1fr}.counterparty-contact-row,.loan-repayment-row{grid-template-columns:1fr}.loan-summary{grid-template-columns:1fr}}
.deal-detail-row{display:none}.deal-detail-row.show{display:table-row}
.deal-detail-panel{padding:14px;background:#fbfcfd}
.deal-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.deal-detail-block{border:1px solid #e4e7eb;border-radius:8px;background:#fff;padding:10px;min-width:0}
.deal-detail-block h4{font-size:13px;margin-bottom:6px;color:#344054}
.deal-detail-block table{margin:0;min-width:520px}
.deal-detail-scroll{overflow:auto}
.deal-form-section{border:1px solid #e4e7eb;border-radius:9px;padding:12px;margin:12px 0;background:#fbfcfd}
.deal-form-section h3{font-size:14px;margin:0 0 9px;color:#16213e}
.deal-repeat-row{display:grid;gap:6px;align-items:end;margin:7px 0}
.deal-repeat-row.customer{grid-template-columns:minmax(120px,1fr) minmax(130px,1.2fr) minmax(120px,1fr) auto}
.deal-repeat-row.extra{grid-template-columns:minmax(150px,1.2fr) minmax(180px,1.5fr) minmax(120px,1fr) minmax(120px,1fr) auto}
.deal-repeat-row.supplier{grid-template-columns:repeat(3,minmax(120px,1fr)) repeat(3,minmax(110px,.9fr)) repeat(3,minmax(110px,.9fr)) auto;overflow:auto}
.deal-repeat-row input{min-width:0}
.deal-repeat-label{font-size:10px;color:#667085;margin-bottom:2px}
.deal-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:10px 0}
.deal-metric{padding:9px;background:#f8fafc;border-radius:7px;border:1px solid #eaecf0}
.deal-metric label{display:block;font-size:10px;color:#667085}.deal-metric b{font-size:13px}
@media(max-width:768px){.deals-filters,.deals-summary,.deal-detail-grid,.deal-metrics{grid-template-columns:1fr}.deal-repeat-row.customer,.deal-repeat-row.extra,.deal-repeat-row.supplier{grid-template-columns:1fr}.deal-repeat-row.supplier{overflow:visible}.deals-actions{width:100%}.deals-actions .btn,.deals-actions label,.deals-import-org{flex:1 1 150px}}
.salary-toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.salary-toolbar-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.salary-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0}
.salary-summary-item{padding:12px;border:1px solid #e4e7eb;border-radius:8px;background:#fafbfc}
.salary-summary-item label{display:block;font-size:12px;color:#666;margin-bottom:4px}
.salary-summary-item b{font-size:18px}
.dashboard-layout{display:grid;gap:18px}
.dashboard-section{border:1px solid #e4e7eb;border-radius:12px;padding:16px;background:#fff}
.dashboard-section-history{background:linear-gradient(180deg,#fbfcff 0%,#fff 100%)}
.dashboard-section-period{background:linear-gradient(180deg,#fbfffc 0%,#fff 100%)}
.dashboard-section-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-end;flex-wrap:wrap;margin-bottom:14px}
.dashboard-section-head h2{margin:0;font-size:20px}
.dashboard-section-subtitle{font-size:12px;color:#667085;margin-top:4px}
.dashboard-period-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.dashboard-period-controls select,.dashboard-period-controls input{height:42px;min-height:42px;box-sizing:border-box}
.dashboard-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:16px}
.dashboard-item{padding:14px;border:1px solid #e4e7eb;border-radius:9px;background:#fff}
.dashboard-item label{display:block;font-size:12px;color:#666;margin-bottom:5px}.dashboard-item b{font-size:20px}
.dashboard-payments-title{margin:12px 0 8px;font-size:15px}
.dashboard-payments-disclosure{margin-top:12px;border:1px solid #e4e7eb;border-radius:9px;background:#fafbfc;overflow:hidden}
.dashboard-payments-disclosure summary{cursor:pointer;padding:12px 14px;font-size:14px;font-weight:700;color:#344054;display:flex;justify-content:space-between;gap:10px;align-items:center;user-select:none}
.dashboard-payments-disclosure[open] summary{border-bottom:1px solid #e4e7eb;background:#f7f9fc}
.dashboard-payments-content{padding:4px 14px 10px}
.dashboard-trends{border:1px solid #e4e7eb;border-radius:12px;padding:16px;background:#fff}
.dashboard-trends-head{margin-bottom:14px}
.dashboard-trends-head h2{margin:0;font-size:20px}
.dashboard-trends-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.dashboard-trend-card{border:1px solid #e4e7eb;border-radius:10px;padding:14px;background:#fafbfc;min-width:0}
.dashboard-trend-title{font-size:14px;font-weight:700;color:#344054;margin-bottom:12px}
.dashboard-mini-chart{height:190px;display:flex;align-items:flex-end;justify-content:space-around;gap:12px;padding:26px 8px 6px;border-bottom:1px solid #d0d5dd;position:relative}
.dashboard-mini-bar-wrap{flex:1;min-width:0;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:6px}
.dashboard-mini-value{font-size:11px;font-weight:700;color:#344054;text-align:center;white-space:nowrap}
.dashboard-mini-bar{width:min(54px,72%);min-height:3px;border-radius:7px 7px 2px 2px;background:#315a8a;transition:height .2s ease}
.dashboard-mini-label{font-size:11px;color:#667085;text-align:center;white-space:nowrap}
.dashboard-mini-bar.count{background:#18794e}
.dashboard-mini-bar.debt{background:#b54708}
.dashboard-mini-bar.paid{background:#027a48}
.period-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:10px 0 14px;padding:10px;background:#f8fafc;border:1px solid #e4e7eb;border-radius:8px}
.period-status{font-size:13px;font-weight:600}.period-closed{color:#b42318}.period-open{color:#18794e}
.archive-row{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid #eee;font-size:13px}
.backup-list{margin-top:10px;font-size:13px}.backup-list div{padding:5px 0;border-bottom:1px solid #eee}
#tab-salary .salary-toolbar{align-items:flex-end}
#tab-salary .salary-toolbar-actions{display:grid;grid-template-columns:minmax(190px,220px) minmax(220px,280px) minmax(320px,1fr);gap:12px;align-items:end;flex:1;max-width:900px}
.salary-filter-field{display:grid;gap:5px;min-width:0}
.salary-filter-field label{font-size:12px;font-weight:600;color:#475467}
#tab-salary .salary-filter-field select,#tab-salary .salary-filter-field input{height:46px;min-height:46px;padding:9px 12px;font-size:15px;line-height:1.2;border-radius:8px;box-sizing:border-box}
#salarySearch{width:100%;min-width:320px}
.salary-payment-actions{display:flex;gap:5px;align-items:center}
.salary-payment-row .btn{padding:3px 7px}
.backup-warning{font-size:12px;color:#777;margin-top:8px}
.salary-card{padding:0;overflow:hidden;cursor:default}
.salary-card-head{width:100%;display:block;text-align:left;border:0;background:transparent;cursor:pointer;padding:16px}
.salary-card.salary-reconciled{border:1px solid #86efac;box-shadow:0 2px 10px rgba(22,163,74,.14)}
.salary-card.salary-reconciled .salary-card-head{background:#ecfdf3}
.salary-card.salary-reconciled:hover{box-shadow:0 4px 14px rgba(22,163,74,.2)}
.salary-reconcile-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:999px;background:#dcfce7;color:#166534;font-size:11px;font-weight:700;white-space:nowrap}
.salary-reconcile-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 16px;border-top:1px solid #bbf7d0;background:#f0fdf4;font-size:12px;color:#166534}
.salary-reconcile-check{display:flex;align-items:center;gap:8px;font-weight:600;cursor:pointer}
.salary-reconcile-check input{width:18px;height:18px;min-height:0;accent-color:#16a34a}
.salary-reconcile-meta{font-size:11px;color:#667085;text-align:right}
.salary-card .name{display:flex;align-items:center;gap:8px}
.salary-card .chevron{transition:transform .2s}
.salary-card.open .chevron{transform:rotate(180deg)}
.salary-card .stats{display:flex;gap:20px;flex-wrap:wrap;margin-top:8px}
.salary-paid-link,.salary-balance-link{font-weight:600;color:#0f3460;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px;cursor:pointer}
.salary-card .stat .salary-paid-link.needs-allocation{color:#d92d20;font-weight:700}
.salary-card .stat .salary-paid-link.needs-allocation:hover{color:#b42318}
.salary-balance-date{font-size:11px;color:#777;margin-left:4px}
.salary-balance-detail{display:none;border-top:1px solid #eef0f2;padding:10px 16px;background:#fffdf7}
.salary-balance-detail.show{display:block}
.balance-history-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:7px 0;border-bottom:1px solid #eceff2;font-size:13px}
.balance-history-row:last-child{border-bottom:0}
.balance-history-main{min-width:0}
.balance-history-comment{font-size:12px;color:#777;margin-top:2px}
.balance-history-actions{display:flex;gap:5px;flex:0 0 auto}
.balance-help{font-size:12px;color:#667085;margin:-4px 0 12px}
.salary-payment-detail{display:none;border-top:1px solid #eef0f2;padding:10px 16px;background:#f8fafc}
.salary-payment-detail.show{display:block}
.salary-payment-title{font-size:13px;font-weight:600;margin-bottom:7px;color:#16213e}
.salary-payment-row{display:flex;justify-content:space-between;gap:16px;padding:5px 0;border-bottom:1px solid #eceff2;font-size:13px}
.salary-payment-row:last-child{border-bottom:0}
.salary-payment-main{flex:1;min-width:0}
.bulk-payment-selector{display:flex;align-items:flex-start;padding-top:2px;cursor:pointer;flex:0 0 auto}
.bulk-payment-selector input{width:18px;height:18px;min-height:0;margin:0;accent-color:#0f3460}
.salary-bulk-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:9px 10px;margin:0 0 8px;border:1px solid #d8e2ef;border-radius:8px;background:#fff}
.salary-bulk-select-all{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:600;cursor:pointer}
.salary-bulk-select-all input{width:17px;height:17px;min-height:0;margin:0;accent-color:#0f3460}
.salary-bulk-summary{font-size:12px;color:#667085;margin-right:auto}
.bulk-allocation-list{display:grid;gap:10px;max-height:470px;overflow:auto;padding-right:2px}
.bulk-allocation-row{border:1px solid #e4e7ec;border-radius:9px;padding:11px;background:#f8fafc}
.bulk-allocation-row-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:9px;font-size:12px}
.bulk-allocation-row-head b{font-size:13px;color:#16213e}
.bulk-allocation-source{font-size:11px;color:#667085;margin-top:2px}
.bulk-allocation-common{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:8px;align-items:end;margin:10px 0}
.bulk-allocation-manual-common{display:flex;gap:8px;align-items:end;flex-wrap:wrap;padding:10px;border:1px solid #f5d9a8;background:#fffbeb;border-radius:8px;margin:10px 0}
.bulk-allocation-manual-common .form-group{margin:0;flex:1;min-width:220px}
.bulk-allocation-total{font-size:13px;font-weight:700;margin:12px 0;color:#344054}
.salary-payment-empty{font-size:13px;color:#777}
.salary-detail{border-top:1px solid #eee;padding:12px 16px 16px;margin-top:0}
.salary-records{display:grid;gap:10px}
.salary-entry{border:1px solid #e6e8eb;border-radius:8px;padding:12px;background:#fbfcfd}
.salary-entry-top{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.salary-entry-date{font-weight:600}
.salary-entry-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.salary-entry-field label{display:block;font-size:11px;color:#777;margin-bottom:2px}
.salary-entry-field div{font-size:13px;word-break:break-word}
.salary-entry-totals,.salary-entry-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.salary-month-entry{border-color:#d7dde5;background:#fff}
.salary-month-entry .salary-entry-date{font-size:15px;color:#16213e}
.salary-month-source{margin-top:12px;border-top:1px solid #e6e8eb;padding-top:10px}
.salary-month-source summary{cursor:pointer;font-size:12px;font-weight:600;color:#0f3460;user-select:none}
.salary-source-list{display:grid;gap:8px;margin-top:9px}
.salary-source-row{padding:10px;border:1px solid #edf0f3;border-radius:7px;background:#f8fafc}
.salary-source-row-top{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:12px;margin-bottom:7px}
.salary-source-row-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.salary-source-row-grid label{display:block;font-size:10px;color:#777;margin-bottom:2px}
.salary-source-row-grid div{font-size:12px;word-break:break-word}
.salary-source-row-totals{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px;font-size:12px}
.salary-month-payments{margin-top:12px;padding:10px;border:1px solid #dce9e2;border-radius:8px;background:#f5fbf7}
.salary-month-payments-title{font-size:12px;font-weight:700;color:#18794e;margin-bottom:6px}
.salary-month-payment-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:7px 0;border-bottom:1px solid #e1eee6;font-size:12px}
.salary-month-payment-row:last-child{border-bottom:0}
.salary-export-actions{margin:12px 0}
.salary-export-launch{min-height:44px;padding:10px 18px}
.salary-export{margin:10px 0 0;padding:12px;border:1px solid #e4e7eb;border-radius:8px;background:#fafbfc}
.salary-export-title{font-weight:600;margin-bottom:8px}
.salary-export-grid{display:grid;grid-template-columns:minmax(210px,1.25fr) minmax(180px,1fr) repeat(2,minmax(145px,.85fr)) auto;gap:8px;align-items:end}
.salary-export-grid .form-group{margin-bottom:0}
.export-hint{font-size:12px;color:#666;margin-top:7px}
.responsible-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;max-height:240px;overflow:auto;border:1px solid #ddd;border-radius:6px;padding:8px}
.responsible-item{display:flex;align-items:center;gap:8px;padding:7px 8px;border-radius:6px;background:#fafafa;cursor:pointer;font-size:13px}
.responsible-item input{width:18px;height:18px;min-height:0;flex:0 0 auto}
.responsible-chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.responsible-chip{display:inline-flex;align-items:center;gap:5px;background:#e8f0fe;color:#164e8a;border-radius:14px;padding:5px 9px;font-size:12px}
@media(max-width:768px){
  header{display:block;padding:10px 12px}
  header h1{font-size:16px;white-space:normal}
  .mobile-menu-toggle{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;background:rgba(255,255,255,.15);color:#fff;border:0;border-radius:6px;min-width:44px;min-height:44px;font-size:20px}
  header .user-info{display:none;width:100%;margin-top:8px;padding-top:8px;border-top:1px solid rgba(255,255,255,.18);flex-direction:column;align-items:stretch;gap:7px}
  header .user-info.mobile-open{display:flex}
  header .user-info button{width:100%;min-height:44px}
  .tabs{padding:0 6px;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch}
  .tab-btn{padding:11px 13px;min-height:48px}
  .tab-content{padding:12px}
  .card{padding:14px}
  .salary-toolbar-actions,.salary-export-grid{display:grid;grid-template-columns:1fr;width:100%}
  #tab-salary .salary-toolbar-actions{grid-template-columns:1fr;max-width:none}
  #salarySearch{min-width:0}
  .salary-entry-grid,.salary-source-row-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .salary-summary{grid-template-columns:1fr}
  .dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dashboard-trends-grid{grid-template-columns:1fr}
  .responsible-picker{grid-template-columns:1fr}
  .form-row{display:grid;grid-template-columns:1fr;gap:0}
  .form-row .form-group{min-width:0}
  table{display:block;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch}
  .modal{width:calc(100vw - 24px);max-width:none;max-height:calc(100vh - 24px);padding:18px}
}
@media(max-width:420px){
  .salary-entry-grid,.salary-source-row-grid{grid-template-columns:1fr}
  .salary-card .stats{display:grid;grid-template-columns:1fr;gap:4px}
}


