/* Dedicated accounting palette; explicit control states prevent theme/style collisions. */
html body.accounting-design{
 --ac-canvas:#f1f3f1;--ac-surface:#ffffff;--ac-subtle:#f5f7f5;--ac-text:#1d2922;--ac-muted:#526158;--ac-border:#b8c4bc;
 --ac-primary:#247447;--ac-primary-hover:#1b6039;--ac-primary-down:#154b2e;--ac-on-primary:#ffffff;
 --ac-selected:#e0eee4;--ac-on-selected:#174b2c;--ac-hover:#edf3ef;
 --ac-disabled:#e5e9e6;--ac-on-disabled:#56645c;--ac-focus:#2469ad;
 --ac-success:#1c6138;--ac-success-bg:#e2f1e6;--ac-warning:#704400;--ac-warning-bg:#fff0d6;--ac-error:#a02931;--ac-error-bg:#fce8e8;
 --ink:var(--ac-text);--muted:var(--ac-muted);--paper:var(--ac-surface);--stone:var(--ac-border);--rust:var(--ac-error);
 background:var(--ac-canvas);color:var(--ac-text);color-scheme:light;
}
html[data-theme=dark] body.accounting-design{
 --ac-canvas:#151d18;--ac-surface:#202b24;--ac-subtle:#27352c;--ac-text:#edf4ef;--ac-muted:#b5c5ba;--ac-border:#657c6c;
 --ac-primary:#85c89b;--ac-primary-hover:#a0dbb1;--ac-primary-down:#69ae7f;--ac-on-primary:#102719;
 --ac-selected:#324e3b;--ac-on-selected:#e7f6eb;--ac-hover:#2d4134;
 --ac-disabled:#344238;--ac-on-disabled:#bdc9c1;--ac-focus:#92caff;
 --ac-success:#b2ebc3;--ac-success-bg:#294a33;--ac-warning:#ffe0a0;--ac-warning-bg:#4a3920;--ac-error:#ffb8bd;--ac-error-bg:#4b282b;
 color-scheme:dark;
}
html body.accounting-design .shell>main{background:var(--ac-canvas)}
html body.accounting-design :is(.admin-settings,.card,.receipt-original,.receipt-recognition-info,dialog){background:var(--ac-surface);color:var(--ac-text);border-color:var(--ac-border)}
html body.accounting-design :is(.accounting-context-nav,.receipt-status-nav){background:var(--ac-subtle);border-color:var(--ac-border)}
html body.accounting-design :is(.label,.muted,.footer){color:var(--ac-muted)}
html body.accounting-design :is(h1,h2,h3,strong,label){color:inherit}
html body.accounting-design :is(input:not([type=checkbox]),select,textarea){background:var(--ac-surface);color:var(--ac-text);border-color:var(--ac-border)}
html body.accounting-design input::placeholder,html body.accounting-design textarea::placeholder{color:var(--ac-muted);opacity:1}
html body.accounting-design :is(input,select,textarea):disabled{background:var(--ac-disabled);color:var(--ac-on-disabled);opacity:1}
html body.accounting-design button,html body.accounting-design .btn{filter:none}
html body.accounting-design .btn:not(.secondary),html body.accounting-design .receipt-status-nav>#new-receipt{background:var(--ac-primary);color:var(--ac-on-primary);border:1px solid var(--ac-primary)}
html body.accounting-design .btn:not(.secondary):hover:not(:disabled),html body.accounting-design .receipt-status-nav>#new-receipt:hover:not(:disabled){background:var(--ac-primary-hover);border-color:var(--ac-primary-hover);color:var(--ac-on-primary)}
html body.accounting-design .btn:not(.secondary):active:not(:disabled),html body.accounting-design .receipt-status-nav>#new-receipt:active:not(:disabled){background:var(--ac-primary-down);color:var(--ac-on-primary)}
html body.accounting-design .btn.secondary,html body.accounting-design .receipt-preview-pages button{background:var(--ac-surface);border:1px solid var(--ac-border);color:var(--ac-text)}
html body.accounting-design .btn.secondary:hover:not(:disabled){background:var(--ac-hover);color:var(--ac-text)}
html body.accounting-design .btn.secondary:active:not(:disabled){background:var(--ac-selected);color:var(--ac-on-selected)}
html body.accounting-design :is(.receipt-status-nav .task-filters .btn,.accounting-context-link){background:transparent;color:var(--ac-text);border:0;box-shadow:none}
html body.accounting-design :is(.receipt-status-nav .task-filters .btn,.accounting-context-link):hover{background:var(--ac-hover);color:var(--ac-text)}
html body.accounting-design :is(.receipt-status-nav .task-filters .btn[aria-current],.accounting-context-link[aria-current]){background:var(--ac-selected);color:var(--ac-on-selected);box-shadow:inset 3px 0 var(--ac-primary);font-weight:700}
html body.accounting-design :is(.receipt-status-nav .task-filters .btn,.accounting-context-link):active{background:var(--ac-selected);color:var(--ac-on-selected)}
html body.accounting-design .receipt-count{background:var(--ac-disabled);color:var(--ac-text)}
html body.accounting-design [aria-current] .receipt-count{background:var(--ac-on-selected);color:var(--ac-selected)}
html body.accounting-design #accounting-workspace-tabs{background:var(--ac-canvas);border-color:var(--ac-border)}
html body.accounting-design #accounting-workspace-tabs a{background:transparent;color:var(--ac-text)}
html body.accounting-design #accounting-workspace-tabs a:hover{background:var(--ac-hover);color:var(--ac-text)}
html body.accounting-design #accounting-workspace-tabs a[aria-current],html body.accounting-design #accounting-workspace-tabs a:active{background:#2e4f3a;color:#fff}
html body.accounting-design #accounting-workspace-bar{background:#253c2e!important;color:#fff!important}
html body.accounting-design #accounting-workspace-bar button{background:transparent;color:#fff;border-color:#a4b8ab}
html body.accounting-design #accounting-workspace-bar button:hover{background:#375841;color:#fff}
html body.accounting-design #accounting-workspace-bar button:active{background:#1b2d21;color:#fff}
html body.accounting-design .receipt-import-panel .receipt-dropzone{background:var(--ac-surface);border-color:var(--ac-primary)}
html body.accounting-design .receipt-import-panel #receipt-select-files{background:transparent;color:var(--ac-success)}
html body.accounting-design .receipt-import-panel #receipt-select-files:hover,html body.accounting-design .receipt-import-panel .receipt-dropzone.dragover{background:var(--ac-hover);color:var(--ac-success)}
html body.accounting-design .receipt-import-panel #receipt-select-files:active{background:var(--ac-selected);color:var(--ac-on-selected)}
html body.accounting-design .receipt-import-panel #receipt-select-files small{color:var(--ac-muted)}
html body.accounting-design .accounting-profile-summary{background:var(--ac-subtle);color:var(--ac-text);border:1px solid var(--ac-border)}
html body.accounting-design :is(th,.table-wrap thead){background:var(--ac-subtle);color:var(--ac-muted);border-color:var(--ac-border)}
html body.accounting-design :is(td,.row,.operation-item){border-color:var(--ac-border)}
html body.accounting-design :is(tbody tr,.operation-item):hover{background:var(--ac-hover);color:var(--ac-text)}
html body.accounting-design .admin-settings details>summary,html body.accounting-design .admin-settings details[open]>summary{background:var(--ac-subtle);color:var(--ac-text);border-color:var(--ac-border)}
html body.accounting-design .admin-settings details>summary:hover{background:var(--ac-hover);color:var(--ac-text)}
html body.accounting-design :is(.pill,.pill.good){background:var(--ac-success-bg);color:var(--ac-success)}
html body.accounting-design .pill.warn{background:var(--ac-warning-bg);color:var(--ac-warning)}
html body.accounting-design :is(.receipt-warning,[role=alert]):not(:empty){color:var(--ac-error)}
html body.accounting-design .receipt-recognition-info{border-left:3px solid var(--ac-primary)}
html body.accounting-design .chart-empty{background:var(--ac-subtle);color:var(--ac-muted);border-color:var(--ac-border)}
html body.accounting-design :is(button,.btn):disabled{background:var(--ac-disabled)!important;color:var(--ac-on-disabled)!important;border-color:var(--ac-border)!important;opacity:1!important;filter:none;box-shadow:none;cursor:not-allowed}
html body.accounting-design :is(button,a,input,select,textarea,summary):focus-visible{outline:3px solid var(--ac-focus);outline-offset:3px}
html body.accounting-design #accounting-workspace-bar :focus-visible{outline-color:#a5d1ff}
html body.accounting-design .comparison-month{color:var(--ac-text)}
html body.accounting-design .comparison-month small{color:var(--ac-muted)}
html body.accounting-design :is(.month-cost-track,.hours-track){background:var(--ac-subtle);border:1px solid var(--ac-border)}
html body.accounting-design .receipt-preview-pages{color:var(--ac-text)}
html body.accounting-design .olive{background:#2e4f3a}
html body.accounting-design .bronze{background:#95632f}
html body.accounting-design .sand{background:#927d64}
html body.accounting-design .hours-track span{background:#95632f}
html[data-theme=dark] body.accounting-design .olive{background:#88be9b}
html[data-theme=dark] body.accounting-design .bronze{background:#ddb482}
html[data-theme=dark] body.accounting-design .sand{background:#b5c0ac}
html[data-theme=dark] body.accounting-design .hours-track span,html[data-theme=dark] body.accounting-design .month-cost-track span{background:#88be9b}
html[data-theme=dark] body.accounting-design .month-cost-track span.incomplete{background:repeating-linear-gradient(45deg,#6f8a76,#6f8a76 5px,#c5d8cb 5px,#c5d8cb 8px)}
html body.accounting-design .visual-legend i{outline:1px solid var(--ac-border)}

html[data-theme=dark] body.accounting-design .effort-plan{background:#ddb482}html[data-theme=dark] body.accounting-design .effort-actual{background:#88be9b}
.bank-dialog{width:min(1050px,94vw);max-height:90vh;overflow:auto;background:var(--paper,#fff);color:var(--ink,#18271f);border:1px solid #82968a;border-radius:10px;padding:20px}.bank-dialog::backdrop{background:rgba(0,0,0,.45)}.bank-dialog .compact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.bank-dialog label{display:flex;flex-direction:column;gap:5px}.bank-dialog input,.bank-dialog select{width:100%;min-width:0;padding:9px;border:1px solid #9aa99f;border-radius:4px;background:var(--paper,#fff);color:inherit}.bank-movement{padding:14px;margin-top:12px;border:1px solid #99aaa0;border-radius:6px}.bank-preview-table{overflow:auto;max-height:240px}.bank-dialog table{width:100%;border-collapse:collapse}.bank-dialog th,.bank-dialog td{padding:7px;text-align:left;border-bottom:1px solid #9aa99f}.bank-dialog .settings-heading{gap:12px;align-items:center}.bank-dialog p{overflow-wrap:anywhere}.bank-dialog [hidden]{display:none}@media(max-width:600px){.bank-dialog{padding:12px}.bank-dialog .compact-grid{grid-template-columns:1fr}.bank-dialog h2{font-size:18px}}
/* Compact transaction list: details and allocation fields only on demand. */
.bank-dialog{padding:16px;font-size:13px}
.bank-dialog h2{font-size:20px;margin:0}.bank-dialog h3{font-size:15px;margin:14px 0 8px}
.bank-dialog>.label{margin:8px 0}.bank-dialog .bank-account-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.bank-account-grid .bank-movement{margin:0;padding:10px;font-size:12px}.bank-account-grid .bank-movement>strong{display:block;min-height:30px}.bank-account-grid .label{font-size:11px;margin:6px 0}
.bank-dialog .bank-manage{margin:10px 0}.bank-dialog summary{cursor:pointer}.bank-manage>summary{font-weight:600}
.bank-dialog #bank-pagination{margin:8px 0}.bank-dialog #bank-search{padding:7px 10px}
.bank-list-head,.bank-list-row{display:grid;grid-template-columns:82px minmax(0,1fr) 145px 100px 80px 14px;gap:12px;align-items:center}
.bank-list-head{padding:8px 10px;background:var(--ac-subtle);color:var(--ac-muted);font-size:11px;border-bottom:1px solid var(--ac-border)}
.bank-list-head>span:nth-child(4){text-align:right}
.bank-dialog .bank-transaction{margin:0;border-bottom:1px solid var(--ac-border);border-radius:0;background:var(--ac-surface)}
.bank-dialog .bank-list-row{list-style:none;padding:9px 10px;min-height:54px;cursor:pointer;font-size:12px}.bank-list-row::-webkit-details-marker{display:none}
.bank-list-row:hover{background:var(--ac-hover)}.bank-list-row:focus-visible{outline:2px solid var(--ac-focus);outline-offset:-2px}
.bank-transaction[open]>.bank-list-row{background:var(--ac-selected);color:var(--ac-on-selected)}
.bank-payee{min-width:0;display:grid;gap:3px}.bank-payee>strong,.bank-payee>span,.bank-account{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bank-payee>span,.bank-account{color:var(--ac-muted);font-size:11px}
.bank-amount{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.bank-amount.incoming{color:var(--ac-success)}
.bank-state{font-size:11px;text-align:center;border-radius:4px;padding:4px 5px;background:var(--ac-subtle);color:var(--ac-muted)}.bank-state.complete{color:var(--ac-success);background:var(--ac-success-bg)}
.bank-chevron{font-size:22px;line-height:1;transition:transform .15s}.bank-transaction[open] .bank-chevron{transform:rotate(90deg)}
.bank-dialog .bank-transaction-detail{padding:12px 18px 14px;background:var(--ac-subtle);border-top:1px solid var(--ac-border)}
.bank-transaction-detail>p{margin:0 0 8px}.bank-transaction-detail .compact-grid{grid-template-columns:minmax(0,1fr) 145px;gap:10px}.bank-transaction-detail form>.btn{margin-top:10px}.bank-transaction-detail [role=status]:empty{display:none}
.bank-dialog .bank-purpose{font-size:12px;line-height:1.5}.bank-dialog .bank-transaction-detail input,.bank-dialog .bank-transaction-detail select{padding:7px}
@media(max-width:800px){.bank-list-head,.bank-list-row{grid-template-columns:72px minmax(0,1fr) 90px 68px 12px;gap:8px}.bank-list-head>span:nth-child(3),.bank-list-row>.bank-account{display:none}.bank-dialog .bank-account-grid{grid-template-columns:1fr}.bank-account-grid .bank-movement>strong{min-height:0}}
@media(max-width:500px){.bank-dialog{width:96vw;padding:10px}.bank-dialog .bank-list-head{display:none}.bank-dialog .bank-list-row{grid-template-columns:65px minmax(0,1fr) 78px 12px;gap:6px;padding:9px 6px}.bank-list-row>.bank-state{display:none}.bank-payee>strong{font-size:12px}.bank-date{font-size:10px}.bank-dialog .bank-transaction-detail{padding:12px}.bank-transaction-detail .compact-grid{grid-template-columns:1fr}.bank-dialog .settings-heading{flex-wrap:wrap}}
.bank-dialog .bank-list-row{font-weight:400}.bank-payee>span,.bank-account{font-weight:400}
.bank-account-grid .row{padding:6px 0;min-height:0}.bank-account-grid .bank-movement>strong{min-height:0}
.bank-dialog{box-sizing:border-box;margin:60px auto 12px;max-height:calc(100dvh - 80px)}
