/* Shared workspace sizing for every application module. */
#appScreen .shell-main{min-width:0!important;transition:none!important}
#appScreen .shell-main>section{width:100%!important;max-width:none!important;min-width:0!important;box-sizing:border-box}
#appScreen .shell-main :is(.consult-shell,.consult-card,.extra-fields,.admin-shell,.admin-content,[class$="-workspace"]){min-width:0!important;max-width:100%!important;box-sizing:border-box}
#appScreen .shell-main :is(.consult-shell,.consult-card,.admin-shell,.admin-content,[class$="-workspace"])>*{min-width:0;box-sizing:border-box}
/* A wide table scrolls locally rather than enlarging the entire module. */
#appScreen .shell-main :is(div,section):has(>table){min-width:0!important;max-width:100%!important;overflow-x:auto!important;box-sizing:border-box;overscroll-behavior-x:contain}
#appScreen .shell-main :is(div,section):has(>table)>table{width:100%;min-width:100%;table-layout:auto}
#appScreen .shell-main :is(div,section):has(>table)>table thead th{white-space:normal}
#appScreen .shell-main :is(.wp-table-wrap,.xml-table-wrap,.declaration-table-wrap){margin-inline:0!important}

.bank-group{min-width:220px;max-width:520px;white-space:normal}.bank-group summary{cursor:pointer;color:var(--ui-primary,#1769e0);font-weight:600}.bank-group>div{padding:8px 0;border-bottom:1px solid var(--ui-border,#e4e7ec)}.bank-group p,.bank-group small{white-space:normal;overflow-wrap:anywhere}

.accounting-group-preview{padding:14px;min-width:0}.accounting-group-preview h5{margin:0 0 10px}.accounting-group-table{overflow:auto;max-width:100%}.accounting-group-table td small{display:block}.accounting-group-table :is(td,th):nth-last-child(-n+2){text-align:right;white-space:nowrap}.accounting-group-preview p{font-size:11px}

.accounting-group-table table{min-width:640px!important}.accounting-group-table td:first-child{min-width:160px;white-space:nowrap}.accounting-group-table td:nth-child(2){min-width:210px}.accounting-group-table td small{white-space:normal}

.bank-adjustment-dialog{width:min(780px,calc(100vw - 24px));max-height:90dvh;box-sizing:border-box;border:1px solid var(--ui-border,#e4e7ec);border-radius:14px;padding:20px;background:var(--ui-surface,#fff);color:var(--ui-text,#152844);font:12px/1.5 "Plus Jakarta Sans",sans-serif}.bank-adjustment-dialog::backdrop{background:#10214080}.bank-adjustment-dialog header{display:flex;justify-content:space-between;gap:14px}.bank-adjustment-dialog h3{margin:0;font-size:18px}.bank-adjustment-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.bank-adjustment-fields label{display:grid;gap:5px;min-width:0}.bank-adjustment-fields .wide{grid-column:1/-1}.bank-adjustment-fields :is(input,select,textarea){box-sizing:border-box;min-width:0;width:100%;padding:9px;border:1px solid #cdd7e6;border-radius:7px;font:inherit;background:var(--ui-surface,#fff);color:inherit}.bank-adjustment-dialog button{padding:9px 13px;border:1px solid #cdd7e6;border-radius:7px;background:var(--ui-surface,#fff);color:inherit;font:inherit;cursor:pointer}.bank-adjustment-dialog [data-adjust-save]{background:#1769e0;color:white;border-color:#1769e0}.bank-adjustment-dialog footer{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px;margin-top:16px}.bank-adjustment-dialog [data-adjust-error]{color:#b42318}.bank-adjustment-table{overflow:auto;max-width:100%}.bank-adjustment-table table{min-width:600px;width:100%;border-collapse:collapse}.bank-adjustment-table th,.bank-adjustment-table td{padding:8px;border-bottom:1px solid #e4e7ec;text-align:left}.bank-adjustment-table :is(th,td):nth-last-child(-n+2){text-align:right;white-space:nowrap}@media(max-width:600px){.bank-adjustment-fields{grid-template-columns:1fr}.bank-adjustment-dialog{padding:14px}}

.bank-adjustment-dialog[open]{display:flex;flex-direction:column;overflow:hidden}.bank-adjustment-dialog>header{flex:none;align-items:flex-start;margin-bottom:12px}.bank-adjustment-dialog>header button{height:32px;width:32px;padding:0;flex:none}.bank-adjustment-dialog form{display:flex;flex-direction:column;min-height:0;width:100%;max-width:none!important;margin:0;padding:0;overflow:hidden}.bank-adjustment-body{min-height:0;overflow:auto;padding-right:4px}.bank-adjustment-dialog label{font-size:11px;font-weight:600;letter-spacing:0;text-transform:none;margin:0}.bank-adjustment-dialog label small{font-size:10px;font-weight:400;letter-spacing:0;text-transform:none}.bank-adjustment-dialog :is(input,select,textarea){font-family:inherit;font-size:12px;font-weight:400}.bank-adjustment-dialog footer{flex:none;margin-top:12px;padding-top:10px;border-top:1px solid #e4e7ec}.bank-adjustment-dialog footer button{min-height:36px}

.monthly-followups{margin:20px 0;min-width:0}.monthly-followups h4{font-size:14px;margin:0 0 8px}.monthly-followups p{font-size:12px;color:#63738b}.monthly-followups-table{max-width:100%;overflow:auto;border:1px solid #e4e7ec;border-radius:10px}.monthly-followups table{width:100%;min-width:720px!important;border-collapse:collapse;font:12px/1.5 "Plus Jakarta Sans",sans-serif}.monthly-followups :is(td,th){padding:12px;text-align:left;border-bottom:1px solid #e4e7ec}.monthly-followups th{background:#f6f8fb;font-size:11px}.monthly-followups td:first-child{min-width:220px;max-width:430px;white-space:normal}.monthly-followups small{display:block;color:#63738b;font-size:11px;white-space:normal}.monthly-followups td:last-child>div{display:flex;gap:6px;flex-wrap:wrap}.monthly-followups button,.monthly-followup-dialog button{font:inherit;padding:8px 10px;border:1px solid #cdd7e6;border-radius:7px;background:#fff;color:#1769e0;cursor:pointer;white-space:nowrap}.monthly-followup-dialog{width:min(480px,calc(100vw - 24px));max-height:90dvh;overflow:auto;box-sizing:border-box;border:1px solid #cdd7e6;border-radius:14px;padding:20px;color:#152844;background:#fff;font:12px/1.5 "Plus Jakarta Sans",sans-serif}.monthly-followup-dialog::backdrop{background:#10214080}.monthly-followup-dialog form{display:grid;gap:12px;width:100%;max-width:none;margin:0;padding:0}.monthly-followup-dialog h3{margin:0;font-size:17px}.monthly-followup-dialog p{margin:0;color:#63738b}.monthly-followup-dialog label{display:grid;gap:6px;font:inherit;text-transform:none;letter-spacing:0}.monthly-followup-dialog :is(select,input,textarea){box-sizing:border-box;min-width:0;width:100%;padding:9px;border:1px solid #cdd7e6;border-radius:7px;font:inherit}.monthly-followup-dialog .review{display:flex;align-items:flex-start}.monthly-followup-dialog [type=checkbox]{width:auto;flex:none;margin-top:3px}.monthly-followup-dialog footer{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.monthly-followup-dialog [type=submit]{background:#1769e0;color:#fff;border-color:#1769e0}.monthly-close-actions button:disabled{opacity:.5;cursor:not-allowed}

.monthly-followup-dialog label{margin:0}.monthly-followup-dialog [type=checkbox]{width:16px!important;height:16px!important;min-height:0!important;padding:0;align-self:flex-start}.monthly-followups{padding-inline:22px;box-sizing:border-box}@media(max-width:600px){.monthly-followups{padding-inline:12px}}

.fiscal-reconciliation{min-width:0;color:var(--ui-text,#152844);font:12px/1.5 "Plus Jakarta Sans",sans-serif}.fiscal-reconciliation>header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:16px 0}.fiscal-reconciliation h3{font-size:17px;margin:0}.fiscal-reconciliation h4{font-size:13px;margin:0 0 10px}.fiscal-reconciliation p{color:#63738b}.fiscal-reconciliation :is(button,a),.fiscal-reconciliation-dialog :is(button,a){font:inherit}.fiscal-reconciliation button,.fiscal-reconciliation-dialog button{padding:8px 11px;border:1px solid #cdd7e6;border-radius:7px;background:#fff;color:#1769e0;cursor:pointer}.fiscal-reconciliation a,.fiscal-reconciliation-dialog a{color:#1769e0}.fiscal-reconciliation-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:16px}.fiscal-reconciliation-kpis article{padding:14px;border:1px solid #dce4ef;border-radius:10px;background:#fff}.fiscal-reconciliation-kpis b{display:block;font-size:23px}.fiscal-declaration-sources{padding:16px;border:1px solid #dce4ef;border-radius:10px;margin:16px 0}.fiscal-declaration-sources article{display:flex;gap:14px;align-items:center;flex-wrap:wrap;padding:10px 0}.fiscal-declaration-sources article>div{flex:1;min-width:180px}.fiscal-reconciliation small,.fiscal-reconciliation-dialog small{display:block;font-size:11px;color:#63738b}.fiscal-reconciliation-table{overflow:auto;max-width:100%;border:1px solid #dce4ef;border-radius:10px}.fiscal-reconciliation table{width:100%;min-width:1100px!important;border-collapse:collapse;table-layout:auto}.fiscal-reconciliation :is(th,td){padding:12px;border-bottom:1px solid #dce4ef;text-align:left;vertical-align:top;font-size:12px;white-space:normal}.fiscal-reconciliation th{background:#f6f8fb;font-size:11px}.fiscal-reconciliation td:first-child{min-width:200px;max-width:280px}.fiscal-reconciliation td:nth-child(6){min-width:200px;max-width:300px}.fiscal-reconciliation td:nth-child(n+2):nth-child(-n+5){min-width:110px}.fiscal-reconciliation td:last-child{min-width:130px}.fiscal-reconciliation td a{display:block;margin-top:8px}.fiscal-recognition-bridge,.fiscal-reconciliation-criteria,.fiscal-reconciliation-history{padding:16px;border:1px solid #dce4ef;border-radius:10px;margin-top:16px}.fiscal-recognition-bridge>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.fiscal-recognition-bridge span>b{display:block}.fiscal-reconciliation summary{cursor:pointer;font-weight:600}.fiscal-reconciliation-history article{padding:10px 0;border-bottom:1px solid #dce4ef}.needs-review{color:#a35416}.review-clear{color:#127354}.fiscal-reconciliation-dialog{width:min(780px,calc(100vw - 24px));max-height:90dvh;box-sizing:border-box;border:1px solid #cdd7e6;border-radius:14px;padding:20px;background:#fff;color:#152844;font:12px/1.5 "Plus Jakarta Sans",sans-serif;overflow:auto}.fiscal-reconciliation-dialog::backdrop{background:#10214080}.fiscal-reconciliation-dialog>header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.fiscal-reconciliation-dialog h3{font-size:17px;margin:0}.fiscal-reconciliation-dialog form{display:grid;gap:12px;max-width:none!important;width:100%;margin:16px 0 0;padding:0}.fiscal-reconciliation-dialog label{display:grid;gap:6px;margin:0;font:inherit;letter-spacing:0;text-transform:none}.fiscal-reconciliation-dialog :is(input,select,textarea){font:inherit;box-sizing:border-box;width:100%;min-width:0;padding:9px;border:1px solid #cdd7e6;border-radius:7px;color:inherit;background:#fff}.fiscal-reconciliation-dialog footer{display:flex;justify-content:flex-end}.fiscal-reconciliation-dialog [type=submit]{background:#1769e0;border-color:#1769e0;color:#fff}.fiscal-reconciliation-dialog [data-error]{color:#b42318}.fiscal-review-source{padding:12px 0;border-bottom:1px solid #dce4ef;overflow-wrap:anywhere}.fiscal-reconciliation-dialog [data-close]{flex:none;width:32px;height:32px;padding:0}.fiscal-reconciliation-dialog button:disabled{opacity:.5;cursor:not-allowed}@media(max-width:600px){.fiscal-reconciliation>header{align-items:flex-start;flex-direction:column}.fiscal-reconciliation-kpis{grid-template-columns:1fr}.fiscal-recognition-bridge>div{grid-template-columns:1fr 1fr}.fiscal-reconciliation-dialog{padding:14px}}

#appScreen .fiscal-reconciliation td:last-child>:is(button,a){display:flex;align-items:center;justify-content:center;width:max-content;max-width:100%;height:auto;min-height:32px;box-sizing:border-box;padding:7px 10px;white-space:nowrap;margin:0 0 6px}#appScreen .fiscal-reconciliation td:last-child>a{margin-top:6px}.fiscal-reconciliation-dialog[open]{display:flex;flex-direction:column;overflow:hidden;max-height:var(--fiscal-dialog-height,calc(100dvh - 32px))!important}.fiscal-reconciliation-dialog>header{flex:none}.fiscal-reconciliation-dialog>.fiscal-review-scroll,.fiscal-reconciliation-dialog>form{overflow:auto;min-height:0;padding-right:4px}.fiscal-reconciliation-dialog footer{position:sticky;bottom:0;padding:12px 0 0;background:#fff}.fiscal-reconciliation-dialog>form{margin-top:0}

/* Payment base review shares the fiscal dialog and system controls. */
.payment-base-review .payment-base-evidence { overflow-wrap:anywhere; padding-block:12px; }
.payment-base-review [data-body] > label { display:grid; gap:8px; margin-block:16px; }
.payment-base-review select { width:100%; min-width:0; }
.payment-base-review .payment-base-confirm { display:flex; align-items:flex-start; gap:10px; }
.payment-base-review .payment-base-confirm input { width:auto; min-height:0; margin-top:4px; }
.payment-base-review [data-preview]:not(:empty) { background:var(--surface-soft,#f5f8fc); border:1px solid var(--border,#dce4f0); border-radius:12px; padding:16px; }
.payment-base-review footer { flex-wrap:wrap; }

.payment-base-review form label.payment-base-confirm { display:flex !important; align-items:center; }
.payment-base-review .payment-base-confirm input { position:static; flex:0 0 18px; width:18px; height:18px; margin:0; transform:none; }

#workingPaperWorkspace .wp-base-review-actions{display:flex;margin:0 0 18px;min-width:0}
#appScreen .shell-main #workingPaperWorkspace .wp-base-review-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;max-width:100%;min-height:38px;height:auto;padding:9px 13px;font:600 12px/1.4 "Plus Jakarta Sans",sans-serif!important;white-space:normal;text-align:left;cursor:pointer}
#workingPaperWorkspace .wp-base-review-button svg{width:16px;height:16px;flex:none}
#workingPaperWorkspace .wp-base-review-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;min-height:22px;padding:0 5px;box-sizing:border-box;border-radius:6px;background:#edf3ff;color:#1769e0;font-size:11px;flex:none}
#workingPaperWorkspace .wp-base-review-button:focus-visible{outline:2px solid #1769e0;outline-offset:3px}

.fiscal-reconciliation .fiscal-reconciliation-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}
.fiscal-reconciliation-kpis button{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0;padding:15px!important;border-radius:10px!important;color:#152844!important;text-align:left}
.fiscal-reconciliation-kpis button[aria-pressed=true]{background:#edf4ff!important;border-color:#1769e0!important;box-shadow:0 0 0 1px #1769e0}
.fiscal-reconciliation-kpis button:focus-visible{outline:2px solid #1769e0;outline-offset:3px}
.fiscal-filter-status{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
#appScreen .fiscal-reconciliation tr[hidden]{display:none!important}
.fiscal-summary-note{font-size:11px}.fiscal-reconciliation [data-fiscal-filter-empty]{padding:16px}
.monthly-fiscal-dossier{padding:18px;border:1px solid #dce4ef;border-radius:12px;background:#fff;margin:18px 0;color:#152844;font:12px/1.5 "Plus Jakarta Sans",sans-serif}
.monthly-fiscal-dossier>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}
.monthly-fiscal-dossier h4{font-size:15px;margin:0 0 8px}.monthly-fiscal-dossier p{margin:8px 0;color:#63738b;overflow-wrap:anywhere}
.monthly-dossier-downloads{display:flex;gap:8px;flex-wrap:wrap}.monthly-dossier-downloads a{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
.monthly-dossier-counts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0}.monthly-dossier-counts article{padding:12px;border:1px solid #dce4ef;border-radius:8px}.monthly-dossier-counts b{display:block;font-size:22px}.monthly-dossier-counts small{font-size:11px}
.monthly-fiscal-dossier summary{cursor:pointer;font-weight:600;padding:10px 0}.monthly-dossier-rows{display:grid;gap:12px}.monthly-dossier-rows article{border-top:1px solid #dce4ef;padding-top:12px}.monthly-dossier-rows h5{font-size:12px;margin:0}
@media(max-width:900px){.fiscal-reconciliation .fiscal-reconciliation-kpis,.monthly-dossier-counts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.fiscal-reconciliation .fiscal-reconciliation-kpis,.monthly-dossier-counts{grid-template-columns:1fr}.monthly-dossier-downloads{width:100%}.monthly-dossier-downloads a{width:100%}}

#appScreen .first-close-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}
#appScreen .nav-group-label[data-flow-group]{white-space:normal;line-height:1.5}

/* A shared column grid keeps workflow groups aligned regardless of their size. */
#appScreen #dashGrid{display:grid;grid-template-columns:minmax(0,1fr);gap:20px!important}
#appScreen #dashGrid .dashboard-tool-group{min-width:0;gap:0;border:1px solid var(--global-border,#dce4ef);overflow:hidden}
#appScreen #dashGrid .dashboard-tool-group>header{min-width:0;align-items:center;padding:14px 16px!important}
#appScreen #dashGrid .dashboard-tool-group>header>div{min-width:0}
#appScreen #dashGrid .dashboard-tool-group>header h2{font-size:14px!important;line-height:1.5}
#appScreen #dashGrid .dashboard-tool-group>header>small{white-space:nowrap}
#appScreen #dashGrid .dashboard-tool-group>.dash-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))!important;gap:12px!important;padding:0 16px 16px!important;align-items:stretch}
#appScreen #dashGrid .action-card{grid-column:auto!important;min-width:0;min-height:130px!important;height:100%;margin:0;overflow:hidden}
#appScreen #dashGrid .action-card b{white-space:normal;overflow-wrap:anywhere;line-height:1.5!important}
@media(max-width:720px){
 #appScreen #dashGrid .dashboard-tool-group>.dash-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;padding:0 12px 14px!important}
 #appScreen #dashGrid .dashboard-tool-group>header{padding:14px 12px!important}
 #appScreen #dashGrid .action-card{min-height:110px!important}
 #appScreen #dashGrid .action-card b{font-size:12px!important}
}

#appScreen .shell-main>#workContext{width:auto!important;max-width:calc(100% - 24px)!important}
#appScreen .work-context{position:sticky;top:64px;z-index:35;margin:12px clamp(12px,2vw,28px) 0;border:1px solid #dce4ef;border-radius:12px;background:#fff;color:#152844;box-shadow:0 4px 16px #1528440a;font:12px/1.5 "Plus Jakarta Sans",sans-serif}
#appScreen .work-context[hidden]{display:none!important}
#appScreen .work-context-identity{display:grid;grid-template-columns:minmax(0,1fr) minmax(190px,.5fr);gap:16px;padding:12px 16px}
#appScreen .work-context-company{display:grid;gap:2px;border:0!important;border-radius:6px;background:transparent!important;padding:0!important;text-align:left;min-width:0;height:auto!important;font:inherit!important;color:inherit!important;cursor:pointer}
#appScreen .work-context b{display:block;white-space:normal;overflow-wrap:anywhere;font-size:13px!important;font-weight:700}
#appScreen .work-context small{display:block;font-size:10px!important;letter-spacing:.04em;color:#63738b}
#appScreen .work-context span{display:block;font-size:11px!important;color:#63738b;overflow-wrap:anywhere}
#appScreen .work-context-period{border-left:1px solid #e2e8f0;padding-left:16px}
#appScreen .work-context-next{display:flex;align-items:center;gap:12px;padding:10px 16px;border-top:1px solid #e2e8f0;background:#f7faff;border-radius:0 0 12px 12px}
#appScreen .work-context-next>div{flex:1;min-width:0}
#appScreen .work-context-next button{flex:none;height:auto!important;min-height:36px;max-width:160px;padding:8px 12px!important;border:1px solid #cedbf0;border-radius:8px;background:#fff;color:#175ddc;font:600 12px/1.4 "Plus Jakarta Sans",sans-serif!important;cursor:pointer;white-space:normal}
#appScreen .work-context button:focus-visible{outline:2px solid #1768df;outline-offset:3px}
#appScreen .work-context .context-refresh{max-width:36px;font-size:18px!important;padding:4px 9px!important}
@media(max-width:720px){#appScreen .work-context{top:56px;margin:8px 12px 0}#appScreen .work-context-identity{gap:8px;padding:10px;grid-template-columns:minmax(0,1fr) minmax(110px,.55fr)}#appScreen .work-context-period{padding-left:8px}#appScreen .work-context b{font-size:12px!important}#appScreen .work-context-next{padding:8px 10px;gap:6px}#appScreen .work-context-next span{display:none}#appScreen .work-context-next button{max-width:100px;font-size:11px!important}}
html[data-theme="dark"] #appScreen .work-context{background:#171c25;color:#eef2f7;border-color:#354256}html[data-theme="dark"] #appScreen .work-context-next{background:#1d2738}html[data-theme="dark"] #appScreen .work-context small,html[data-theme="dark"] #appScreen .work-context span{color:#afbdd2}

/* Clip horizontal overflow without creating a second scroll container above the sticky context. */
body:has(#workContext:not([hidden])){overflow-x:clip!important}
