/* Cost Centre controls and report only; existing account totals/layouts are unchanged. */
.cc-panel{padding:18px;border:1px solid #8bb1d0;border-radius:13px;background:#fff;margin-top:16px;min-width:0}
.cc-actions,.cc-filters{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin:12px 0}
.cc-filters>label{flex:1 1 160px;min-width:0}.cc-actions input{flex:1;min-width:150px}
.cc-table{width:100%;border-collapse:collapse;font-size:12px}.cc-table td,.cc-table th{padding:10px;border:1px solid #c8d9e8;vertical-align:top;overflow-wrap:anywhere}
.cc-table th,.cc-table tfoot{background:#eef6fc;color:#153a58;font-weight:700}
.cc-amount{padding:2px 0;border:0;background:transparent;color:#006d89;text-align:inherit;cursor:pointer}.cc-amount:hover{text-decoration:underline}
.cc-require{display:flex;align-items:center;gap:10px;padding:14px;border:1px solid #95bdcd;border-radius:9px}.cc-require input{width:17px;height:17px}
.cc-edit{display:grid;grid-template-columns:1fr 1fr;gap:14px}.cc-edit label,.cc-split-row label{display:flex;flex-direction:column;gap:6px}.cc-edit .form-actions,.cc-edit [role=alert]{grid-column:1/-1}
.cc-picker{position:relative;min-width:0}.cc-picker .tx-search-combo{display:flex;min-width:0}.cc-picker input{min-width:0;width:100%;flex:1}
.cc-picker .cc-add{flex:0 0 32px;padding:5px;border:1px solid #9bc5cc;background:#e9f9f7;color:#008c88;border-radius:0 8px 8px 0}
.cc-results{position:absolute;z-index:1100;top:70px;left:0;right:0;max-height:220px;overflow:auto;background:white;border:1px solid #78a9c6;border-radius:8px;box-shadow:0 5px 12px #0c30441c}
.cc-results button{display:block;width:100%;text-align:left;border:0;background:white;padding:9px;color:#163b55}.cc-results button[aria-selected=true]{background:#e1f4f5}
.cc-split-row{display:grid;grid-template-columns:2fr 1fr auto;gap:10px;margin-bottom:10px}
.cc-picker :is(input,button):focus-visible,.cc-panel :is(input,button,select):focus-visible{outline:2px solid #009ba8;outline-offset:2px}
.qe-keyboard .qe-expense-line:has(.cc-picker)>.qe-main{grid-template-columns:minmax(125px,.8fr) minmax(220px,2fr) minmax(170px,1.2fr) minmax(110px,.8fr) minmax(100px,.7fr) minmax(130px,.8fr) minmax(180px,1.2fr) minmax(140px,1fr)}
.qe-journal .qe-journal-rows .qe-journal-row,.qe-journal .qe-journal-rows .qe-journal-labels{grid-template-columns:minmax(200px,2fr) minmax(160px,1.2fr) minmax(160px,1.2fr) minmax(120px,1fr) minmax(100px,.8fr) minmax(100px,.8fr) 42px}
.cc-dialog{width:min(600px,calc(100vw - 32px));box-sizing:border-box;max-height:90vh;overflow:auto;border:1px solid #9dbbd4;border-radius:14px;padding:24px;color:#18344f}.cc-dialog::backdrop{background:rgba(16,40,60,.32)}
.cc-dialog input,.cc-dialog select{box-sizing:border-box;min-width:0;width:100%;padding:10px;border:1px solid #9dbbd4;border-radius:7px}.cc-dialog h2{font-size:22px;margin-top:0}.cc-dialog .cc-edit{display:grid;gap:12px}.cc-dialog label{display:grid;gap:5px}
@media(max-width:1400px){.qe-keyboard .qe-expense-line:has(.cc-picker)>.qe-main{grid-template-columns:repeat(4,minmax(0,1fr))}.qe-journal .qe-journal-rows .qe-journal-row{grid-template-columns:repeat(3,minmax(0,1fr))}.qe-journal .qe-journal-rows .qe-journal-labels{display:none}}
@media(max-width:1000px){.qe-keyboard .qe-expense-line:has(.cc-picker)>.qe-main{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.cc-edit,.cc-split-row{grid-template-columns:1fr}.cc-table{min-width:660px}.cc-panel{padding:12px}.cc-filters>label{flex-basis:calc(50% - 10px)}.cc-picker label{position:static!important;width:auto!important;height:auto!important;clip-path:none!important}.cc-filters button{width:100%}.qe-journal .qe-journal-rows .qe-journal-row{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.qe-keyboard .qe-expense-line:has(.cc-picker)>.qe-main{grid-template-columns:1fr}}

#ccOpeningFilters :is(input,select){width:100%;min-width:0;max-width:100%;box-sizing:border-box}

.cc-opening-status{position:sticky;top:0;z-index:2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:12px 0;background:#fff;border-bottom:1px solid #94bdc4;margin-bottom:12px}.cc-opening-status span{padding:8px;background:#eaf6f6;border:1px solid #aab8c5;border-radius:6px;font-size:12px}.cc-opening-status strong{display:block;margin-top:5px;color:#17324d;overflow-wrap:anywhere}.cc-opening-status .cc-overallocated strong{color:#b42318}
