/* Shared additions respect per-user header colour and leave A4 document positioning intact. */
:root{--crm-border:#dce1e8;--crm-ink:#1c293a;--crm-muted:#617083}
body{color:var(--crm-ink);font-size:14px;background:#f4f6f9;line-height:1.4}
.header{padding:8px 16px;gap:12px;margin-bottom:12px}.header .logo img{height:34px}.nav-menu a{border-radius:6px}
.hero:not(.a4-container){padding:16px 20px!important;margin-top:12px!important}.hero h1{font-size:24px;margin-bottom:6px}
.tabs{gap:6px!important;margin:12px auto!important}.tabs a{padding:8px 12px!important;border:1px solid var(--crm-border)}
.dashboard{gap:12px!important;margin-top:14px!important}.card{padding:14px 16px!important;box-shadow:0 2px 8px #1c293a08!important}.value{font-size:25px!important}
.invoice-list-container,.companies-container,.table-container{margin-top:14px!important}
.invoice-list-container table th,.invoice-list-container table td,.table th,.table td{padding:8px 10px!important;vertical-align:middle}
.invoice-amount,.right,.bk-number{font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right!important}
.status-form{gap:5px!important}.status-form input,.status-form select{padding:5px 7px!important;min-height:32px}
button,.btn-primary,.btn-menu{border-radius:7px!important}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}
input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #2563eb;outline-offset:2px}
.bk-main{max-width:1360px;margin:16px auto 32px;padding:0 18px}.bk-main h1{font-size:24px;margin-bottom:12px}.bk-main h2{font-size:18px;margin:0 0 12px}.bk-main h3{font-size:15px;margin:16px 0 8px}
.bk-card{background:#fff;border:1px solid var(--crm-border);border-radius:10px;padding:16px;margin:12px 0;box-shadow:0 2px 8px #1c293a05}
.bk-toolbar,.bk-inline{display:flex;flex-wrap:wrap;align-items:end;gap:10px}.bk-toolbar{margin:10px 0}.bk-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;align-items:start}
.bk-main label{display:flex;flex-direction:column;gap:5px;font-size:13px;font-weight:600}.bk-main input:not([type=checkbox]),.bk-main select,.bk-main textarea{min-height:36px;width:100%;padding:7px 9px;border:1px solid #b9c3cf;border-radius:6px;background:#fff;color:var(--crm-ink);font:inherit}.bk-main select[multiple]{min-height:112px}
.bk-main .bk-check{display:flex;flex-direction:row;align-items:center;gap:7px;margin:10px 0}.bk-check input{width:16px;height:16px;margin:0;accent-color:var(--brand)}
.bk-button{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:7px 12px;border:1px solid var(--brand);background:var(--brand);color:white;border-radius:7px;font:600 13px inherit;text-decoration:none;white-space:nowrap}.bk-button:hover{filter:brightness(.94);text-decoration:none}.bk-button.secondary{background:#fff;color:var(--crm-ink);border-color:#bbc5d0}
.bk-table-wrap{overflow-x:auto;margin-top:12px}.bk-table{width:100%;border-collapse:collapse;text-align:left;font-size:13px}.bk-table th{background:#f2f5f8;font-weight:700;color:#42536a}.bk-table th,.bk-table td{padding:9px 10px;border-bottom:1px solid var(--crm-border);vertical-align:top}.bk-table tbody tr:hover{background:#fafbfd}.bk-table td{overflow-wrap:anywhere}.bk-table td small{display:block;max-width:560px;white-space:normal;margin-top:3px}
.bk-main small,.bk-main .muted{color:var(--crm-muted);font-weight:400}.bk-main small{font-size:12px}.bk-permission{padding:10px 0;border-top:1px solid var(--crm-border)}
.bk-metrics{display:flex;flex-wrap:wrap;gap:12px}.bk-metrics>div{min-width:145px;padding:10px 14px;background:#f4f7fa;border-radius:7px}.bk-metrics small,.bk-metrics strong{display:block}.bk-metrics strong{font-size:19px;font-variant-numeric:tabular-nums;margin-top:4px}
.bk-status{display:inline-block;font-size:12px;font-weight:600;padding:4px 8px;border-radius:5px;background:#e8edf3;color:#38465b}.bk-status.paid{background:#e5f3e9;color:#20693b}.bk-status.partial{background:#fff0ce;color:#805b10}.bk-status.unpaid{background:#fee8e5;color:#91352e}
.bk-notice{padding:10px 12px;border-radius:7px;border:1px solid #b9c3cf;background:#f2f5f8}.bk-notice.error{background:#fff0ed;border-color:#e8b4a9;color:#8d3027}.bk-notice.success{background:#eaf6ed;border-color:#a7cdb2;color:#235b35}.bk-error{display:block;color:#a3312a}.bk-history{margin:7px 0;padding:8px;border-bottom:1px solid var(--crm-border)}.bk-history small{display:block}.bk-part{margin-bottom:10px}.bk-part select{max-width:650px}.bk-main details{margin:16px 0}.bk-main summary{cursor:pointer;font-weight:600}
@media(max-width:700px){.bk-main{padding:0 10px}.bk-card{padding:12px}.bk-grid{grid-template-columns:1fr}.bk-inline>label{flex:1 1 180px}.bk-metrics>div{flex:1 1 130px}.bk-main h1{font-size:21px}.bk-table{font-size:12px}.bk-main .bk-button{min-height:40px}.header{padding:8px 10px}.hero{margin-left:10px!important;margin-right:10px!important}}
@media print{.bk-toolbar,.bk-main form,.bk-button{display:none}.bk-card{box-shadow:none;border:0}}

@media(max-width:600px){
 .bk-table,.bk-table tbody{display:block;width:100%}.bk-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 .bk-table tbody tr{display:grid;grid-template-columns:1fr 1fr;gap:6px;border:1px solid var(--crm-border);border-radius:7px;padding:8px;margin-bottom:8px}
 .bk-table td{display:block;border:0;padding:4px;min-width:0;white-space:normal}.bk-table td:nth-child(4),.bk-table td:nth-child(5),.bk-table td[colspan]{grid-column:1/-1}
 .bk-table td[data-label]::before{content:attr(data-label);display:block;color:var(--crm-muted);font-size:11px;font-weight:600;margin-bottom:3px}.bk-table-wrap{overflow:visible}
 .a4-container{padding:12px!important;border-radius:10px!important}#invoice-form{gap:10px!important}.invoice-header,.invoice-body,.invoice-footer{gap:8px!important}.a4-container .field{gap:4px!important}
}
@media(max-width:600px){
 html:root,html body{height:auto!important;min-height:100%;overflow-x:clip!important;overflow-y:visible!important}
 .a4-container.a4-container{padding:12px!important;border-radius:10px!important}
 .a4-container #invoice-form{gap:10px!important}
 .a4-container .invoice-header,.a4-container .invoice-body,.a4-container .invoice-footer{gap:8px!important}
 .a4-container .field{gap:4px!important}
}
#company-form label,#individual-form label{margin-bottom:7px}#company-form input,#individual-form input{padding:7px 9px!important;min-height:36px;border-radius:6px!important}
#companies-table th,#companies-table td,#individuals-table th,#individuals-table td,.act-list-container table th,.act-list-container table td,.expenditure-list-container table th,.expenditure-list-container table td{padding:8px 10px!important;vertical-align:middle}
.act-list-container,.expenditure-list-container{margin-top:14px!important}.modal-content{border-radius:10px}.filter-wrap{padding:12px 14px!important}

#invoice-list-table .invoice-document-cell{white-space:normal!important}
#invoice-list-table .invoice-document-number{display:block;font-weight:600;line-height:1.4}
#invoice-list-table .invoice-payment-link{display:block;width:fit-content;margin-top:4px;font-size:11px;line-height:1.4}
#invoice-list-table .invoice-payment-breakdown{display:grid;gap:3px;margin-top:6px;font-size:11px;font-weight:400;line-height:1.35}
#invoice-list-table .invoice-payment-breakdown span{display:flex;justify-content:space-between;gap:10px}
#invoice-list-table .invoice-payment-breakdown small{color:var(--crm-muted);font-size:inherit}
#invoice-list-table .invoice-payment-breakdown b{font-weight:500}
#invoice-list-table .invoice-review-note{display:block;color:#9a3412;font-size:11px}
#invoice-list-table td[data-label="Статус"]>.bk-status{display:inline-block;margin-bottom:6px}
@media(min-width:769px){#invoice-list-table td.invoice-document-cell{min-width:125px}#invoice-list-table td.invoice-amount{min-width:140px}}

@media(min-width:769px){.invoice-list-container{overflow-x:auto!important}}

#invoice-list-table .btn-archive{width:100%;display:inline-flex;align-items:center;justify-content:center;min-width:116px;min-height:30px;padding:4px 12px;border:1px solid #b9c3cf;background:#f2f5f8;color:#38465b;font-weight:600;white-space:nowrap}#invoice-list-table .btn-archive:hover{background:#e5eaf1}#invoice-list>.bk-toolbar .bk-button[aria-current="page"]{font-weight:700}#invoice-list>.bk-toolbar{align-items:center;margin-bottom:12px}

/* Sorting is performed on the server before pagination; selects remain visible on phones. */
.bk-sort-link{display:inline-flex;align-items:center;gap:5px;color:inherit;text-decoration:none}
.bk-sort-link::after{content:"↕";font-size:12px;opacity:.55}
.bk-sort-link[data-order="asc"]::after{content:"↑";opacity:1}
.bk-sort-link[data-order="desc"]::after{content:"↓";opacity:1}
.bk-sort-link:focus-visible{outline:2px solid var(--crm-accent);outline-offset:3px}
.bk-sort-form{margin:10px 0}

@media(max-width:600px){#payment-documents thead,#payment-operations thead{display:none}}

/* Payer details stay visible without opening a PDF, including on narrow screens. */
.bk-invoice-details{display:flex;flex-wrap:wrap;gap:12px 28px;margin:0 0 14px}
.bk-invoice-details>div{min-width:0}.bk-invoice-details>div:first-child{flex:1 1 260px}
.bk-invoice-details dt{font-size:12px;color:var(--crm-muted)}
.bk-invoice-details dd{margin:3px 0 0;font-weight:600;overflow-wrap:anywhere}
.bk-part>label{min-width:0}
@media(max-width:600px){
 #payment-documents td:nth-child(4),#payment-documents td:nth-child(5){grid-column:auto}
 #payment-documents td:first-child,#payment-documents td.bk-document-payer,#payment-documents td:last-child{grid-column:1/-1}
}
