/* Composition only; surfaces, controls, charts and type use global theme tokens. */
@media(min-width:1000px){
 .fin-workspace:is([data-fin-view=payments],[data-fin-view=receipts]) .fin-filter-row{display:grid;grid-template-columns:minmax(120px,1fr) minmax(130px,1fr) minmax(180px,1.8fr) auto;gap:10px;align-items:end}
 .fin-workspace:is([data-fin-view=payments],[data-fin-view=receipts]) .fin-filter-actions{flex-wrap:nowrap}
}
.fin-workspace:is([data-fin-view=payments],[data-fin-view=receipts]) .fin-filter-advanced:not([hidden]){padding-top:12px;border-top:1px solid var(--color-border)}
.fin-workspace{display:grid;gap:var(--ui-card-padding);min-width:0}
.fin-workspace>*{min-width:0}
.fin-workspace .panel{background:var(--color-surface)!important;color:var(--color-text-primary);margin:0}
.fin-workspace .page-header{margin:0;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.fin-workspace .page-header h1{margin:0 0 6px}
.fin-workspace .page-header p{margin:0}
.fin-workspace .page-header .fin-actions{justify-content:flex-end}
.fin-workspace .panel>header,.fin-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.fin-workspace h2{font-size:var(--font-size-card-title);margin:0 0 10px}
.fin-tabs{display:flex;border-bottom:1px solid var(--color-border);gap:4px}
.fin-tabs button{background:transparent!important;border:0!important;border-radius:0;border-bottom:3px solid transparent!important;color:var(--color-text-secondary)!important}
.fin-tabs button[aria-selected=true]{color:var(--color-primary)!important;border-bottom-color:var(--color-primary)!important;background:var(--color-primary-soft)!important}
.fin-filter-row{display:flex;align-items:end;gap:10px;flex-wrap:wrap}
.fin-filters label{display:grid;gap:5px;flex:1 1 130px;min-width:0;font-size:12px;color:var(--color-text-secondary)}
.fin-filters :is(input,select){min-width:0;width:100%}
.fin-filter-actions{display:flex;gap:8px;flex-wrap:wrap}
.fin-filter-advanced:not([hidden]){display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-top:12px}
.fin-filter-row .fin-search{position:relative;flex:2 1 220px}
.fin-search>svg{position:absolute;left:12px;bottom:10px;color:var(--color-primary)}
.fin-search input{padding-left:36px!important}
.fin-context{margin:10px 0 0;padding:8px;background:var(--color-primary-soft);color:var(--color-text-secondary);font-size:12px}
.fin-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;align-items:stretch}
[data-fin-view=payments] .fin-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}
.fin-kpi-rail{display:grid;grid-template-columns:minmax(0,4fr) minmax(220px,1fr);gap:12px;align-items:stretch}
.fin-kpi-rail>.fin-metrics{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(2,minmax(min-content,1fr))}
.fin-quick{display:grid;grid-template-rows:auto repeat(4,auto);align-content:space-between;gap:6px;min-width:0}
.fin-quick h2{margin:0}
.fin-chart-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:stretch}
.fin-chart-row>.ns-chart{height:auto!important;min-width:0;display:flex;flex-direction:column}
.fin-chart-row .ns-chart-svg{height:auto;flex:0 0 auto;aspect-ratio:11/6}
.fin-bottom{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;align-items:stretch}
.fin-bottom>.panel{min-width:0}
.fin-table-wrap{max-width:100%;overflow:auto}
.fin-table{min-width:1050px;width:100%}
.fin-table th>button{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;color:var(--color-text-primary)!important;white-space:nowrap}
#pageContent .fin-table th>button.ns-ui-button{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;color:var(--color-text-primary)!important}
.fin-table td[data-ns-column=amount]{white-space:nowrap!important;overflow:visible!important}
.fin-table td[data-ns-column=amount]>*{white-space:nowrap!important;max-width:none!important;overflow:visible!important;display:inline!important}
.fin-table td[data-ns-column=reference]>*{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px;display:block}
.fin-identity{display:flex;gap:10px;align-items:center;min-width:180px}
.fin-identity>div{display:grid;gap:3px}
.fin-identity small{display:block;color:var(--color-text-secondary);font-size:12px}
.fin-identity :is(img,.avatar){width:42px;height:42px;border-radius:50%;flex-shrink:0;object-fit:cover;display:grid;place-items:center;background:var(--color-primary-soft);color:var(--color-primary)}
/* Payments and receipts: class is deliberate data, not a third student line. */
@media(min-width:1100px){
 .fin-transactions-table{table-layout:fixed;min-width:0}
 .fin-transactions-table th,.fin-transactions-table td{padding-inline:8px}
 .fin-transactions-table th:nth-child(1){width:88px}
 .fin-transactions-table th:nth-child(2),.fin-transactions-table th:nth-child(3){width:112px}
 .fin-transactions-table th:nth-child(4){width:170px}
 .fin-transactions-table th:nth-child(5){width:145px}
 .fin-transactions-table th:nth-child(6){width:160px}
 .fin-transactions-table th:nth-child(7){width:94px}
 .fin-transactions-table th:nth-child(8){width:92px}
 .fin-transactions-table th:nth-child(9){width:100px}
 .fin-transactions-table th:nth-child(10){width:88px}
 .fin-transactions-table th:last-child{width:52px}
 .fin-transactions-table .fin-identity{min-width:0;gap:7px}
 .fin-transactions-table .fin-identity :is(img,.avatar){width:36px;height:36px}
 .fin-transactions-table .fin-identity small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .fin-transactions-table td[data-ns-column=class]>*{display:block;white-space:normal;line-height:1.25}
 .fin-transactions-table td:nth-child(6) .ns-table-value{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
}
.fin-drawer{display:grid;gap:16px}
.fin-drawer>section{padding-top:12px;border-top:1px solid var(--color-border)}
.fin-detail-line{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;padding:6px 0;font-size:13px}
.fin-detail-line>span{color:var(--color-text-secondary)}
.fin-detail-line>strong{font-weight:500;overflow-wrap:anywhere}
.fin-drawer .fin-actions button{flex:1 1 160px}
@media(max-width:1200px){.fin-kpi-rail{grid-template-columns:minmax(0,3fr) minmax(200px,1fr)}.fin-chart-row{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.fin-kpi-rail{grid-template-columns:1fr}.fin-kpi-rail>.fin-metrics,.fin-metrics,[data-fin-view=payments] .fin-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.fin-quick{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto}.fin-quick h2{grid-column:1/-1}.fin-bottom{grid-template-columns:1fr}}
@media(max-width:550px){.fin-chart-row,.fin-metrics,.fin-kpi-rail>.fin-metrics,[data-fin-view=payments] .fin-metrics,.fin-quick{grid-template-columns:1fr}}


/* Dashboard-only composition: shared controls retain their normal dimensions. */
#pageContent .fin-quick button{display:flex;gap:8px;justify-content:flex-start;white-space:nowrap}
#pageContent .fin-quick{padding:10px}
.fin-chart-row .ns-chart-doughnut{display:flex;flex-direction:column;gap:8px}
.fin-chart-row .ns-chart-doughnut>svg{width:100%;height:190px;flex:none}
.fin-chart-row .ns-chart-doughnut>div{width:100%;min-width:0}
.fin-chart-row .ns-chart-doughnut p{display:grid;grid-template-columns:12px minmax(0,1fr) auto;gap:8px;margin:6px 0;align-items:center}
.fin-chart-row .ns-chart-doughnut p span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fin-chart-row .ns-chart-doughnut p strong{white-space:nowrap}
#pageContent .fin-bottom table{width:100%;table-layout:auto}
#pageContent .fin-bottom td[data-ns-column=type]{width:82px;min-width:82px}
#pageContent .fin-bottom td:last-child,#pageContent .fin-bottom th:last-child{width:56px;min-width:56px;text-align:center}
#pageContent .fin-view-eye{width:var(--ns-control-height,34px);min-width:var(--ns-control-height,34px);padding:0!important;justify-content:center}
.fin-view-eye span:empty{display:none}
#pageContent .fin-bottom .fin-tabs{gap:0;border-bottom:1px solid var(--color-border);margin-bottom:10px}
#pageContent .fin-bottom .fin-tabs button{border:0!important;border-right:1px solid var(--color-border)!important;border-bottom:3px solid transparent!important;border-radius:0!important;background:transparent!important;color:var(--color-text-secondary)!important}
#pageContent .fin-bottom .fin-tabs button[aria-selected=true]{border-bottom-color:var(--color-primary)!important;color:var(--color-primary)!important;background:var(--color-primary-soft)!important}
#pageContent .fin-workspace .fin-transactions-table{width:100%!important;min-width:0!important;table-layout:fixed!important}
#pageContent .fin-workspace .fin-transactions-table :is(th,td){padding-inline:6px;overflow:hidden}
#pageContent .fin-workspace .fin-transactions-table .ns-table-value{max-width:100%;overflow:hidden;text-overflow:ellipsis}
#pageContent .fin-workspace .fin-payments-table th:nth-child(1){width:74px}
#pageContent .fin-workspace .fin-payments-table th:nth-child(2){width:105px}
#pageContent .fin-workspace .fin-payments-table th:nth-child(3){width:165px}
#pageContent .fin-workspace .fin-payments-table th:nth-child(4){width:120px}
#pageContent .fin-workspace .fin-payments-table th:nth-child(5){width:145px}
#pageContent .fin-workspace .fin-payments-table th:nth-child(6){width:83px}
#pageContent .fin-workspace .fin-payments-table th:nth-child(7){width:74px}
#pageContent .fin-workspace .fin-payments-table th:nth-child(8){width:90px}
#pageContent .fin-workspace .fin-payments-table th:nth-child(9){width:80px}
#pageContent .fin-workspace .fin-payments-table th:nth-child(10){width:46px}
#pageContent .fin-workspace .fin-receipts-table th:nth-child(1){width:70px}
#pageContent .fin-workspace .fin-receipts-table th:nth-child(2){width:85px}
#pageContent .fin-workspace .fin-receipts-table th:nth-child(3){width:95px}
#pageContent .fin-workspace .fin-receipts-table th:nth-child(4){width:140px}
#pageContent .fin-workspace .fin-receipts-table th:nth-child(5){width:105px}
#pageContent .fin-workspace .fin-receipts-table th:nth-child(6){width:130px}
#pageContent .fin-workspace .fin-receipts-table th:nth-child(7){width:78px}
#pageContent .fin-workspace .fin-receipts-table th:nth-child(8){width:65px}
#pageContent .fin-workspace .fin-receipts-table th:nth-child(9){width:75px}
#pageContent .fin-workspace .fin-receipts-table th:nth-child(10){width:70px}
#pageContent .fin-workspace .fin-receipts-table th:nth-child(11){width:40px}
