/* Accounting governance: period locks, corrections and ledger integrity. */
.integrity-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.integrity-card{display:grid;gap:6px;padding:17px 18px;border:1px solid #dce5f0;border-radius:14px;background:#f8fbff}.integrity-card small{color:#69798f;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.integrity-card strong{font:600 25px Georgia,serif;color:#10294d}.integrity-card.invalid{background:#fff3f1;border-color:#efcbc6}.integrity-card.invalid strong{color:#a8473f}.period-controls{display:grid;gap:12px;margin-bottom:18px;padding:18px;border:1px solid #dce5f0;border-radius:15px;background:#fff}.period-controls h3{margin:0;font-size:15px}.period-control-row{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.period-control-row label{display:grid;gap:6px;min-width:180px;font-size:11px;font-weight:800;color:#52647b}.period-control-row select{min-height:42px;padding:9px 12px;border:1px solid #cfdbea;border-radius:10px;background:#fff}.control-help{margin:0;color:#68778e;font-size:11px;line-height:1.5}.correction-row{display:grid;grid-template-columns:minmax(0,1.8fr) .8fr .65fr auto;align-items:center;gap:14px;padding:13px 15px;border-top:1px solid #e5ebf3}.correction-row:first-child{border-top:0}.correction-original{display:grid;gap:3px;min-width:0}.correction-original b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.correction-original small{color:#708097}.correction-row>span{font-size:11px}.correction-row>button{white-space:nowrap}.modal textarea[name="reason"]{width:100%;min-height:110px;padding:13px 15px;border:1px solid #cfdbea;border-radius:11px;resize:vertical}
@media(max-width:850px){.integrity-grid{grid-template-columns:repeat(2,1fr)}.correction-row{grid-template-columns:1fr auto}.correction-row>span{grid-column:1}.correction-row>button{grid-column:2;grid-row:1/3}}
@media(max-width:520px){.integrity-grid{grid-template-columns:1fr 1fr}.period-control-row>*{width:100%}.correction-row{grid-template-columns:1fr}.correction-row>button{grid-column:1;grid-row:auto;width:100%}}

/* Keep every page table's column guide visible below FINXO's sticky toolbar. */
#content .page-panel:has(>table.data-table){overflow:visible}
#content .data-table thead th,#content .fleet-table thead th{position:sticky;top:76px;z-index:8;background:#fff;box-shadow:0 1px 0 var(--line),0 8px 14px rgba(10,35,69,.06)}
#content .data-table thead th:first-child,#content .fleet-table thead th:first-child{border-top-left-radius:14px}
#content .data-table thead th:last-child,#content .fleet-table thead th:last-child{border-top-right-radius:14px}
/* Tables inside a dialog follow the dialog's own scroll area, not the app toolbar. */
.modal-body .data-table thead th{top:0;z-index:4}
@media(max-width:760px){#content .data-table thead th,#content .fleet-table thead th{top:65px}.modal-body .data-table thead th{top:0}}

/* Preliminary income is part of the Music overview, with a compact review panel. */
#content .contract-income-dashboard{padding:24px;margin:24px 0;min-width:0;box-sizing:border-box}
.contract-income-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.contract-income-heading h2{margin:10px 0 0;font-size:22px;line-height:1.3}
.contract-income-heading a{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;min-height:44px;padding:10px 16px;box-sizing:border-box}
.contract-income-dashboard [data-contract-dashboard-sek]{display:flex;align-items:baseline;flex-wrap:wrap;gap:12px;margin-top:20px;color:#536a85}
.contract-income-amount{font-size:28px;line-height:1.3;color:#102d50}
.contract-income-dashboard .contract-income-caption{margin:12px 0 0;color:#536a85;font-size:14px;line-height:1.5}
@media(max-width:600px){#content .contract-income-dashboard{padding:20px;margin:18px 0}.contract-income-heading{align-items:stretch;gap:16px}.contract-income-heading a{width:100%}.contract-income-amount{font-size:24px}}
