.finance-configuration-workspace{--fcw-border:color-mix(in srgb,var(--color-primary,#1976e9) 22%,#dbe5f0);--fcw-muted:#64748b;--fcw-soft:color-mix(in srgb,var(--color-primary,#1976e9) 5%,#fff);display:flex;flex-direction:column;gap:14px;color:#10233e;min-width:0}.fcw-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 20px;border:1px solid var(--fcw-border);border-radius:16px;background:var(--color-surface,#fff)}.fcw-title{display:flex;align-items:center;gap:12px;min-width:0}.fcw-title h1{font-size:28px;line-height:1.1;margin:0 0 4px}.fcw-title p{margin:0;color:var(--fcw-muted);font-size:13px}.fcw-step{width:38px;height:38px;display:grid;place-items:center;border-radius:9px;background:var(--sidebar-bg,#082f57);color:#fff;font-size:20px;font-weight:800}.fcw-year-context{display:flex;align-items:flex-end;gap:12px}.fcw-year-context label{font-size:12px;font-weight:700;display:grid;gap:5px}.fcw-year-context select,.fcw-history-grid select{min-width:165px;height:40px;border:1px solid var(--fcw-border);border-radius:8px;background:var(--color-input-bg,#fff);padding:0 36px 0 12px;color:#10233e;font-weight:700}.fcw-tabs{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr));border:1px solid var(--fcw-border);border-radius:14px;background:var(--color-surface,#fff);overflow:auto}.fcw-tabs button{min-height:58px;padding:8px 10px;border:0;border-right:1px solid var(--fcw-border);background:transparent;color:#33445f;font-weight:700;display:flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap}.fcw-tabs button:last-child{border-right:0}.fcw-tabs button.active{background:linear-gradient(135deg,var(--sidebar-bg,#082f57),var(--color-primary,#1976e9));color:#fff}.fcw-icon{width:19px;height:19px;stroke:currentColor;fill:none}.finance-configuration-workspace>main{min-width:0}.fcw-readonly{display:flex;gap:12px;align-items:center;padding:12px 16px;border:1px solid #f2c46d;border-radius:12px;background:#fff8e8;color:#8b5711}.fcw-readonly div{display:grid}.fcw-readonly span{font-size:12px}.fcw-badge{display:inline-flex;align-items:center;justify-content:center;width:max-content;padding:5px 9px;border-radius:999px;background:#e9f2fb;color:#1767aa;font-size:11px;font-weight:800;white-space:nowrap}.fcw-badge.active,.fcw-badge.permanent,.fcw-badge.paye,.fcw-badge.payé,.fcw-badge.actuelle{background:#e5f7ec;color:#138044}.fcw-badge.occasional,.fcw-badge.occasionnel,.fcw-badge.a-payer,.fcw-badge.à-payer{background:#fff1df;color:#bf6800}.fcw-badge.inactive,.fcw-badge.remplacee,.fcw-badge.remplacée{background:#f0f2f5;color:#657085}.fcw-badge.en-retard,.fcw-badge.readonly{background:#ffe9e9;color:#c83232}.fcw-badge.en-derogation,.fcw-badge.en-dérogation{background:#fff6d7;color:#9a6d00}.fcw-overview-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:14px}.fcw-overview-kpis article{min-height:116px;padding:17px;border:1px solid var(--fcw-border);border-radius:14px;background:var(--color-surface,#fff);display:flex;align-items:center;gap:14px}.fcw-overview-kpis article>.fcw-icon{width:42px;height:42px;padding:10px;border-radius:11px;background:var(--fcw-soft);color:var(--color-primary,#1976e9)}.fcw-overview-kpis article div{display:grid;gap:2px}.fcw-overview-kpis span,.fcw-overview-kpis small{font-size:12px;color:var(--fcw-muted)}.fcw-overview-kpis strong{font-size:20px}.fcw-overview-grid{display:grid;grid-template-columns:1.05fr 1.45fr 1fr;gap:14px}.fcw-overview-bottom{display:grid;grid-template-columns:1.3fr 1fr;gap:14px;margin-top:14px}.fcw-card{border:1px solid var(--fcw-border);border-radius:14px;background:var(--color-surface,#fff);padding:18px;min-width:0}.fcw-card>h2,.fcw-card>header h2{font-size:17px;margin:0}.fcw-card>h2 small{font-size:11px;color:var(--fcw-muted);font-weight:500}.fcw-card>header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.fcw-card>header p{margin:4px 0 0;color:var(--fcw-muted);font-size:12px}.fcw-card>header>div:last-child{display:flex;flex-wrap:wrap;gap:8px}.fcw-health-body{display:grid;grid-template-columns:130px 1fr;gap:12px;align-items:center;margin-top:18px}.fcw-ring{--value:92;width:110px;aspect-ratio:1;border-radius:50%;display:grid;place-content:center;text-align:center;background:radial-gradient(circle at center,#fff 58%,transparent 59%),conic-gradient(#18a983 calc(var(--value)*1%),#e6edf3 0)}.fcw-ring strong{font-size:22px}.fcw-ring span{font-size:11px;color:#17836b}.fcw-health-body>div:last-child{display:grid;gap:5px}.fcw-health-body button{display:grid;grid-template-columns:18px 1fr auto;align-items:center;gap:7px;border:0;background:transparent;padding:4px;text-align:left;color:#33445f;font-size:12px}.fcw-health-body button .fcw-icon{color:#17a46c;width:16px}.fcw-list,.fcw-alerts{display:grid;margin-top:9px}.fcw-list button,.fcw-alerts button{display:grid;grid-template-columns:10px 1.5fr 1fr auto auto;gap:8px;align-items:center;border:0;border-bottom:1px solid #e5edf5;background:transparent;padding:10px 4px;text-align:left;color:#33445f;font-size:11px}.fcw-list .dot{width:7px;height:7px;border-radius:50%;background:var(--color-primary,#1976e9)}.fcw-alerts button{grid-template-columns:20px 1fr auto}.fcw-alerts .fcw-icon{color:#dc6a25}.fcw-alerts strong{color:var(--color-primary,#1976e9)}.fcw-card-link{width:100%;border:0;background:transparent;color:var(--color-primary,#1976e9);font-weight:700;padding:12px 0 0}.fcw-ok{padding:18px 4px;color:#16814c;display:flex;align-items:center;gap:8px}.fcw-family-chart{display:grid;grid-template-columns:160px 1fr;align-items:center;gap:20px;margin-top:16px}.fcw-donut{width:140px;aspect-ratio:1;border-radius:50%;position:relative}.fcw-donut:after{content:"";position:absolute;inset:35px;border-radius:50%;background:var(--color-surface,#fff)}.fcw-family-chart>div:last-child{display:grid}.fcw-family-chart>div:last-child>div{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid #e8eef4;font-size:12px}.fcw-quick-actions{display:grid;gap:8px;margin-top:14px}.fcw-quick-actions button{justify-content:flex-start}.fcw-list-screen{padding:0;overflow:hidden}.fcw-list-screen>header{padding:17px 18px;margin:0}.fcw-segmented,.fcw-subtabs{display:flex;gap:8px;border-top:1px solid var(--fcw-border);border-bottom:1px solid var(--fcw-border);padding:10px 16px;overflow:auto}.fcw-segmented button,.fcw-subtabs button{border:0;background:transparent;padding:8px 12px;color:#526079;font-weight:700;white-space:nowrap}.fcw-segmented button.active,.fcw-subtabs button.active{color:var(--color-primary,#1976e9);border-bottom:3px solid currentColor}.fcw-segmented span{font-size:10px}.fcw-toolbar{display:flex;justify-content:space-between;align-items:center;padding:12px 16px}.fcw-toolbar label{display:flex;align-items:center;gap:8px;min-width:min(420px,100%);border:1px solid var(--fcw-border);border-radius:8px;padding:0 10px}.fcw-toolbar input{height:36px;flex:1;border:0;background:transparent;outline:none}.fcw-toolbar button{width:38px;height:38px;border:1px solid var(--fcw-border);border-radius:8px;background:transparent}.fcw-table-wrap{overflow:auto}.fcw-table-wrap table{width:100%;border-collapse:collapse;font-size:12px;min-width:820px}.fcw-table-wrap th{padding:11px 12px;background:var(--fcw-soft);text-align:left;color:#3f516b;font-size:11px}.fcw-table-wrap td{padding:11px 12px;border-top:1px solid #e5edf5;vertical-align:middle}.fcw-table-wrap td>strong,.fcw-table-wrap td>small{display:block}.fcw-table-wrap td>small{color:var(--fcw-muted);margin-top:3px}.fcw-row-actions{display:flex;gap:5px}.fcw-row-actions button,.fcw-history-grid td button{width:31px;height:31px;border:1px solid var(--fcw-border);border-radius:7px;background:transparent;color:#294967;display:grid;place-items:center}.fcw-row-actions button:disabled{opacity:.35}.fcw-empty{min-height:190px;display:grid;place-content:center;text-align:center;gap:6px;color:var(--fcw-muted)}.fcw-empty .fcw-icon{width:38px;height:38px;margin:auto;color:var(--color-primary,#1976e9)}.fcw-empty strong{color:#203651}.fcw-split{display:grid;grid-template-columns:275px 1fr;gap:14px}.fcw-fee-selector,.fcw-main-panel{border:1px solid var(--fcw-border);border-radius:14px;background:var(--color-surface,#fff)}.fcw-fee-selector{overflow:hidden}.fcw-fee-selector label{display:grid;gap:7px;padding:16px;font-size:12px;font-weight:700;border-bottom:1px solid var(--fcw-border)}.fcw-fee-selector select{height:40px;border:1px solid var(--fcw-border);border-radius:8px;padding:0 10px;background:var(--color-input-bg,#fff)}.fcw-fee-selector>div{display:grid;padding:7px}.fcw-fee-selector button{border:0;border-left:3px solid transparent;background:transparent;padding:11px;text-align:left;color:#40516b;border-radius:4px}.fcw-fee-selector button.active{border-left-color:var(--color-primary,#1976e9);background:var(--fcw-soft);color:var(--color-primary,#1976e9);font-weight:800}.fcw-main-panel{padding:0;overflow:hidden}.fcw-main-panel>header{padding:16px 18px;margin:0}.fcw-main-panel .fcw-table-wrap{border-top:1px solid var(--fcw-border)}.fcw-total{display:flex;justify-content:flex-end;gap:25px;padding:14px 18px;background:var(--fcw-soft)}.fcw-legend{display:flex;justify-content:flex-end;gap:7px;flex-wrap:wrap;padding:12px}.fcw-history-grid{display:grid;grid-template-columns:1.3fr .9fr;gap:22px;padding:16px}.fcw-history-grid h3,.fcw-list-screen>h3{font-size:14px;margin:10px 0}.fcw-history-grid aside{border:1px solid var(--fcw-border);border-radius:12px;padding:15px;background:var(--fcw-soft)}.fcw-history-grid aside label{display:grid;gap:6px;font-size:12px}.fcw-history-grid aside select{width:100%}.fcw-compare{display:grid;margin-top:12px}.fcw-compare>div{display:grid;grid-template-columns:1fr auto;gap:3px;border-top:1px solid var(--fcw-border);padding:12px 0}.fcw-compare small,.fcw-compare em{grid-column:2;color:var(--fcw-muted);font-size:11px}.fcw-compare em.up{color:#16814c}.fcw-list-screen>h3{padding:0 18px}.fcw-list-screen>h3+.fcw-table-wrap{margin-bottom:18px}.fcw-footnote{font-size:11px;color:var(--fcw-muted);display:flex;align-items:center;justify-content:center;gap:7px;padding:2px}.fcw-modal{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:18px}.fcw-backdrop{position:absolute;inset:0;border:0;background:rgba(5,24,44,.62);backdrop-filter:blur(3px)}.fcw-modal-card{position:relative;width:min(760px,96vw);max-height:90vh;overflow:auto;border:1px solid var(--fcw-border);border-radius:16px;background:var(--color-surface,#fff);box-shadow:0 24px 70px rgba(4,28,53,.25)}.fcw-modal-card>header{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;padding:16px 19px;background:linear-gradient(135deg,var(--sidebar-bg,#082f57),var(--color-primary,#1976e9));color:#fff}.fcw-modal-card>header span{font-size:11px;opacity:.82}.fcw-modal-card>header h2{margin:2px 0 0;font-size:21px}.fcw-modal-card>header button{width:38px;height:38px;border:1px solid rgba(255,255,255,.45);border-radius:8px;background:transparent;color:#fff;font-size:24px}.fcw-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:20px}.fcw-form-grid label{display:grid;gap:6px;font-size:12px;font-weight:700;color:#3d4f68}.fcw-form-grid input,.fcw-form-grid select,.fcw-form-grid textarea{width:100%;min-height:40px;border:1px solid var(--fcw-border);border-radius:8px;background:var(--color-input-bg,#f8fbfe);padding:8px 11px;color:#142942}.fcw-form-grid textarea{min-height:84px;resize:vertical}.fcw-wide{grid-column:1/-1}.fcw-check{display:flex!important;grid-template-columns:22px 1fr!important;align-items:center}.fcw-check input{width:17px;min-height:17px}.fcw-modal-card>footer{position:sticky;bottom:0;display:flex;justify-content:flex-end;gap:9px;padding:13px 19px;border-top:1px solid var(--fcw-border);background:var(--color-surface,#fff)}.fcw-upload{min-height:145px;border:2px dashed var(--fcw-border);border-radius:12px;place-content:center;text-align:center;position:relative}.fcw-upload input{position:absolute;inset:0;opacity:0;cursor:pointer}.fcw-upload .fcw-icon{margin:auto;width:35px;height:35px;color:var(--color-primary,#1976e9)}.fcw-import-preview,.fcw-approval-summary{display:grid;gap:5px;padding:13px;border-radius:10px;background:var(--fcw-soft);font-size:12px}.fcw-approval-summary{grid-template-columns:1fr 1.5fr}.fcw-confirm{width:min(480px,96vw)}.fcw-confirm>div{display:grid;gap:10px;padding:20px}.primary-action,.outline-action,.danger-action{min-height:39px;display:inline-flex;align-items:center;justify-content:center;gap:7px}.danger-action{border:1px solid #efb1b1;border-radius:8px;background:#fff4f4;color:#c82e2e;padding:8px 13px;font-weight:700}
.fcw-tabs{display:flex;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--color-primary,#1976e9) 35%,transparent) transparent}.fcw-tabs button{flex:1 0 max-content;min-width:138px;padding-inline:16px}.fcw-tabs::-webkit-scrollbar{height:6px}.fcw-tabs::-webkit-scrollbar-thumb{border-radius:999px;background:color-mix(in srgb,var(--color-primary,#1976e9) 35%,transparent)}
@media(max-width:1100px){.fcw-overview-kpis{grid-template-columns:repeat(3,1fr)}.fcw-overview-grid{grid-template-columns:1fr 1fr}.fcw-overview-grid>*:last-child{grid-column:1/-1}.fcw-tabs button{flex-basis:auto;min-width:158px}.fcw-split{grid-template-columns:220px 1fr}}
@media(max-width:760px){.finance-configuration-workspace{gap:10px}.fcw-header{align-items:flex-start;flex-direction:column;padding:14px}.fcw-title h1{font-size:22px}.fcw-title p{display:none}.fcw-year-context{width:100%;align-items:center;justify-content:space-between}.fcw-year-context label{flex:1}.fcw-year-context select{width:100%;min-width:0}.fcw-tabs{display:flex;border-radius:10px}.fcw-tabs button{min-width:58px;min-height:50px}.fcw-tabs button span{display:none}.fcw-tabs button.active{min-width:max-content}.fcw-tabs button.active span{display:inline}.fcw-overview-kpis{grid-template-columns:repeat(2,1fr);gap:9px}.fcw-overview-kpis article{min-height:104px;padding:12px;align-items:flex-start}.fcw-overview-kpis article>.fcw-icon{width:35px;height:35px;padding:8px}.fcw-overview-kpis strong{font-size:16px}.fcw-overview-kpis article:last-child{grid-column:1/-1}.fcw-overview-grid,.fcw-overview-bottom,.fcw-split,.fcw-history-grid{grid-template-columns:1fr}.fcw-overview-grid>*:last-child{grid-column:auto}.fcw-card{padding:14px}.fcw-card>header{align-items:flex-start;flex-direction:column}.fcw-card>header>div:last-child{width:100%}.fcw-card>header button{flex:1}.fcw-health-body{grid-template-columns:105px 1fr}.fcw-ring{width:92px}.fcw-family-chart{grid-template-columns:100px 1fr}.fcw-donut{width:90px}.fcw-list-screen>header{padding:14px}.fcw-table-wrap table,.fcw-table-wrap tbody,.fcw-table-wrap tr,.fcw-table-wrap td{display:block;min-width:0}.fcw-table-wrap thead{display:none}.fcw-table-wrap tr{margin:9px;border:1px solid var(--fcw-border);border-radius:10px;padding:8px;background:var(--color-surface,#fff)}.fcw-table-wrap td{display:grid;grid-template-columns:42% 58%;gap:7px;padding:7px;border:0}.fcw-table-wrap td:before{content:attr(data-label);font-size:11px;color:var(--fcw-muted);font-weight:700}.fcw-fee-selector>div{display:flex;overflow:auto}.fcw-fee-selector button{min-width:max-content;border-left:0;border-bottom:3px solid transparent}.fcw-fee-selector button.active{border-bottom-color:var(--color-primary,#1976e9)}.fcw-form-grid{grid-template-columns:1fr;padding:15px}.fcw-wide{grid-column:auto}.fcw-modal{padding:8px}.fcw-modal-card{width:100%;max-height:96vh}.fcw-modal-card>header h2{font-size:18px}.fcw-toolbar label{min-width:0;width:100%}.fcw-list button{grid-template-columns:8px 1fr auto}.fcw-list button>span:not(.dot),.fcw-list button time{display:none}}
@media(max-width:760px){.fcw-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.fcw-table-wrap table{display:table;min-width:780px}.fcw-table-wrap thead{display:table-header-group}.fcw-table-wrap tbody{display:table-row-group}.fcw-table-wrap tr{display:table-row;margin:0;border:0;padding:0;background:transparent}.fcw-table-wrap th,.fcw-table-wrap td{display:table-cell;grid-template-columns:none;white-space:nowrap;padding:10px 9px;border-bottom:1px solid var(--fcw-border)}.fcw-table-wrap td:before{content:none}}

/* Finance v3 — shared compact UI system. All visual colours inherit global theme tokens. */
.finance-configuration-workspace{
  --fcw-border:var(--color-border);
  --fcw-muted:var(--color-text-secondary);
  --fcw-soft:var(--color-surface-muted);
  color:var(--color-text-primary);
  font-family:var(--font-family-body);
  gap:var(--ui-section-gap);
}
.fcw-header,.fcw-card,.fcw-fee-selector,.fcw-main-panel,.fcw-tabs{background:var(--color-surface);border-color:var(--color-border)}
.fcw-header{padding:var(--ui-card-padding);border-radius:var(--radius-card)}
.fcw-title h1{font-size:var(--ui-font-hero);color:var(--color-text-primary)}
.fcw-title p,.fcw-card>header p,.fcw-footnote{color:var(--color-text-secondary);font-size:var(--ui-font-help)}
.fcw-step{width:34px;height:34px;background:var(--color-sidebar-bg);color:var(--color-sidebar-text);font-size:16px}
.fcw-active-subheader{display:flex;align-items:center;min-height:56px;padding:10px 16px;border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface)}
.fcw-active-subheader>div{display:flex;align-items:center;gap:10px}.fcw-active-subheader h2{margin:0;font-size:var(--ui-font-section)}.fcw-active-subheader p{margin:2px 0 0;color:var(--color-text-secondary);font-size:var(--ui-font-help)}
.fcw-tabs button{min-height:46px;font-size:var(--ui-font-body);color:var(--color-text-secondary)}
.fcw-tabs button.active{background:linear-gradient(135deg,var(--color-sidebar-bg),var(--color-primary));color:var(--color-sidebar-text)}
.fcw-card{padding:var(--ui-card-padding)}.fcw-card>h2,.fcw-card>header h2{font-size:var(--ui-font-section)}
.fcw-year-context select,.fcw-history-grid select,.fcw-fee-selector select,.fcw-toolbar input,.fcw-toolbar select,.fcw-form-grid input,.fcw-form-grid select{height:var(--ui-control-height);min-height:var(--ui-control-height);color:var(--color-text-primary);background:var(--color-input-bg);border-color:var(--color-border)}
.fcw-toolbar{gap:8px}.fcw-toolbar label{height:var(--ui-control-height);border-color:var(--color-border)}.fcw-category-filter{min-width:190px}
.fcw-table-wrap{border-color:var(--color-border)}.fcw-table-wrap table{font-size:var(--ui-font-table-body)}.fcw-table-wrap th{padding:9px 10px;background:var(--color-table-header);color:var(--color-text-primary);font-size:var(--ui-font-table-header)}.fcw-table-wrap td{height:42px;padding:8px 10px;border-color:var(--color-border)}
.fcw-row-actions button,.fcw-history-grid td button{width:var(--ui-icon-button-size);height:var(--ui-icon-button-size);border-color:var(--color-border);color:var(--color-primary)}
.fcw-bulk-bar{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:9px 14px;border-top:1px solid var(--color-border);background:var(--color-primary-soft)}
.fcw-table-wrap tr.is-selected td{background:var(--color-primary-soft)}
.fcw-package-preview{padding:14px 18px;border-top:1px solid var(--color-border);background:var(--color-surface-muted)}.fcw-package-preview h3{margin:0 0 10px;font-size:var(--ui-font-section)}
.fcw-package-preview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.fcw-package-preview article{padding:12px;border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface)}.fcw-package-preview article header{display:flex;justify-content:space-between;gap:8px}.fcw-package-preview article ul{margin:9px 0 0;padding-left:18px;color:var(--color-text-secondary);font-size:var(--ui-font-help)}
.fcw-badge{background:var(--color-primary-soft);color:var(--color-info)}.fcw-badge.active,.fcw-badge.permanent,.fcw-badge.paye,.fcw-badge.payé,.fcw-badge.actuelle{background:color-mix(in srgb,var(--color-success) 12%,var(--color-surface));color:var(--color-success)}.fcw-badge.occasional,.fcw-badge.occasionnel,.fcw-badge.a-payer,.fcw-badge.à-payer,.fcw-badge.en-derogation,.fcw-badge.en-dérogation{background:color-mix(in srgb,var(--color-warning) 12%,var(--color-surface));color:var(--color-warning)}.fcw-badge.en-retard,.fcw-badge.readonly{background:color-mix(in srgb,var(--color-danger) 12%,var(--color-surface));color:var(--color-danger)}
.fcw-modal-card{background:var(--color-surface);border-color:var(--color-border)}.fcw-form-grid{gap:10px;padding:16px}.fcw-form-grid textarea{background:var(--color-input-bg);border-color:var(--color-border)}
@media(max-width:760px){
  .finance-configuration-workspace{gap:8px}.fcw-header{padding:12px}.fcw-title h1{font-size:20px}.fcw-active-subheader{min-height:52px;padding:8px 12px}.fcw-active-subheader p{display:none}
  .fcw-tabs{display:flex;overflow-x:auto}.fcw-tabs button,.fcw-tabs button.active{min-width:max-content;min-height:44px;padding:7px 12px}.fcw-tabs button span,.fcw-tabs button.active span{display:inline}
  .fcw-package-preview-grid{grid-template-columns:1fr}.fcw-toolbar{flex-wrap:wrap}.fcw-toolbar label,.fcw-category-filter{width:100%;min-width:0}
  .fcw-overview-kpis article:last-child{grid-column:auto}.fcw-table-wrap{overflow-x:auto}.fcw-table-wrap table{min-width:760px}
}
.fcw-modal-card:has([data-benefit-editor]){width:min(77vw,1480px);height:85dvh;max-height:90dvh;display:grid;grid-template-rows:auto minmax(0,1fr) auto}
.fcw-modal-card:has([data-benefit-editor])>.fcw-form-grid{display:block;min-height:0;overflow:auto}
.benefit-editor{display:grid;grid-template-columns:minmax(0,2.1fr) minmax(250px,1fr);gap:24px}
.benefit-controls,.benefit-preview{min-width:0}
.benefit-preview{background:var(--color-surface-alt,var(--color-surface,#fff));padding:18px;border:1px solid var(--color-border);border-radius:12px;align-self:start}
.benefit-preview dl>div{display:flex;gap:16px;justify-content:space-between;padding:8px 0}.benefit-preview dd{margin:0;font-weight:650}
.benefit-filters,.benefit-types{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.benefit-types{grid-template-columns:repeat(4,minmax(0,1fr))}
.benefit-types label{padding:12px 8px;border:1px solid var(--color-border);border-radius:8px}.benefit-types label:has(:checked){border-color:var(--color-primary);background:var(--color-primary-soft)}
.benefit-period-actions{display:flex;flex-wrap:wrap;gap:6px}
[data-benefit-results]{max-height:190px;overflow:auto;display:grid;gap:4px}[data-benefit-results] button{text-align:left;display:grid;padding:8px;border:1px solid var(--color-border);border-radius:6px;background:var(--color-surface);color:inherit}
[data-benefit-student]{display:grid;gap:4px;padding:10px;background:var(--color-primary-soft);border-radius:8px}
[data-benefit-period-list]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-block:10px}[data-benefit-period-list] label{display:flex;gap:6px;padding:8px;border:1px solid var(--color-border);border-radius:8px}[data-benefit-period-list] small{display:block}
.benefit-editor h3{margin-block:14px 8px}
.benefit-preview{position:sticky;top:0}
.benefit-controls label{display:grid;gap:6px}
.benefit-types label{display:flex;align-items:center;gap:8px}
.benefit-types input[type=radio]{width:18px!important;height:18px!important;min-height:18px!important;flex:0 0 18px;margin:0}
.benefit-period-actions button{border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);color:var(--color-text-primary);padding:8px 12px}
.fcw-modal:has([data-benefit-editor])>.fcw-backdrop{position:absolute;inset:0;width:100%!important;height:100%!important;max-height:none;border:0;border-radius:0;background:rgba(5,19,38,.45)!important}
.fcw-readonly.fcw-mode-active{border-color:#8cd5ae;background:#edf9f2;color:#17683e}.fcw-readonly[data-fcw-access-error], [data-fcw-access-error]:not([hidden]){color:#a12a2a}
@media(max-width:720px){.benefit-preview{position:static}}
@media(max-width:1100px){.fcw-modal-card:has([data-benefit-editor]){width:96vw;height:88dvh}.benefit-editor{gap:12px}.benefit-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.benefit-types{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.benefit-editor{grid-template-columns:minmax(0,1fr)}.benefit-filters{grid-template-columns:minmax(0,1fr)}[data-benefit-period-list]{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Self-service fees V1: isolated geometry, inherited application theme. */
.fee-layout{grid-template-columns:250px minmax(0,1fr);gap:20px}
.fee-content{display:grid;gap:14px;min-width:0}
.fee-selection{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.fee-selection-title{display:flex;align-items:center;gap:12px;flex:1;min-width:210px}
.fee-selection-title>.fcw-icon{width:48px;height:48px;padding:10px;border-radius:12px;background:var(--fcw-soft);color:var(--color-primary)}
.fee-selection-title h2{font-size:20px;margin:0}.fee-selection-title h2 small{display:inline-block;font-size:10px;padding:5px 8px;background:var(--fcw-soft);border-radius:20px;color:var(--color-primary)}
.fee-selection-title p,.fee-help{font-size:12px;color:var(--fcw-muted);margin:7px 0}
.fee-counts{display:flex;gap:8px}.fee-counts>div{display:grid;gap:4px;text-align:center;background:#edf9f4;border-radius:10px;padding:10px;color:#087541}.fee-counts>div:nth-child(2){background:#fff6e7;color:#aa5a00}.fee-counts>div:nth-child(3){background:var(--fcw-soft);color:var(--color-primary)}.fee-counts strong{font-size:20px}.fee-counts small{font-size:10px}
.fee-actions{display:flex;gap:8px;flex-wrap:wrap}
.fee-layout .fcw-fee-selector{align-self:start;padding:0 5px 14px}.fee-layout .fcw-fee-selector input{width:100%;height:38px;padding:8px;border:1px solid var(--fcw-border);border-radius:8px;background:var(--color-surface);color:inherit}
.fee-layout .fcw-fee-catalogue h3{font-size:12px;margin:12px 8px;color:var(--fcw-muted)}.fee-layout .fcw-fee-catalogue button{display:flex;align-items:center;gap:10px;width:100%;min-height:39px;font-size:12px}.fee-layout .fcw-fee-catalogue button>span:first-of-type{flex:1}.fee-catalogue-help,.fcw-catalogue-help{font-size:12px;line-height:1.6;background:var(--fcw-soft);padding:14px;margin:12px;border-radius:8px}
.fee-layout .fcw-main-panel{border-radius:10px}.fee-layout .fcw-table-wrap table{font-size:12px;min-width:850px}.fee-layout .fcw-table-wrap :is(td,th){padding:8px 10px}.fee-layout .fcw-row-actions button{width:28px;height:28px}.fee-priority{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--fcw-soft);color:var(--color-primary);font-weight:700}
.fee-layout .fcw-total{justify-content:space-between;align-items:center;margin:12px;border-radius:9px}.fee-layout .fcw-total small{display:block;font-size:11px;margin-top:5px;color:var(--fcw-muted)}
.fee-bottom{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:14px}.fee-bottom>*{min-width:0;border:1px solid var(--fcw-border);border-radius:10px;padding:14px;background:var(--color-surface)}.fee-bottom .fcw-table-wrap table{min-width:440px;font-size:11px}.fee-bottom header p{font-size:11px}.fee-bottom h3{font-size:15px;margin:0}
.fee-fx .fcw-form-grid{padding:10px 0;gap:10px}.fee-fx .fcw-form-grid input,.fee-fx .fcw-form-grid select{min-height:34px;font-size:12px}.fee-fx .primary-action{align-self:end;font-size:12px}.fee-currencies{border:0;padding:0;margin:0;font-size:12px}.fee-currencies legend{margin-bottom:8px}.fee-currencies label{display:inline-flex;align-items:center;margin-right:10px}.fee-currencies input{width:15px;min-height:15px!important}.fee-fx summary{font-size:12px;cursor:pointer;color:var(--color-primary)}
.fee-editor-section{border:1px solid var(--fcw-border);background:var(--color-surface);padding:16px;border-radius:12px}.fee-editor-section h3{display:flex;gap:10px;align-items:center;margin:0 0 16px;font-size:16px}.fee-editor-section h3 b{display:grid;place-items:center;flex:0 0 31px;height:31px;border-radius:50%;background:var(--color-primary);color:white}.fee-editor-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.fee-schedule-editor{display:grid;gap:14px}.fee-live-preview{border:1px solid #b8e5d3;background:#effbf5;color:#13754a;border-radius:9px;padding:14px;font-size:13px}.fee-live-preview.is-conflict{background:#fff8e8;border-color:#edd297;color:#945400}
.fcw-modal-card[data-fcw-form="schedule"]{width:min(730px,96vw)}.fcw-modal-card[data-fcw-form="tariff"]{width:min(1060px,96vw)}
@media(max-width:1150px){.fee-layout{grid-template-columns:210px minmax(0,1fr)}.fee-bottom{grid-template-columns:1fr}}
@media(max-width:760px){.fee-layout{grid-template-columns:1fr}.fee-layout .fcw-fee-selector{max-height:240px;overflow:auto}.fee-bottom,.fee-editor-fields{grid-template-columns:1fr}.fee-selection{padding:12px}.fee-counts{flex-wrap:wrap}.fee-actions{width:100%}.fee-editor-section{padding:12px}}
.fee-tariff-editor{display:grid;grid-template-columns:1.2fr 1fr;gap:14px;min-width:0}.fee-tariff-editor>div{display:grid;gap:14px;align-content:start;min-width:0}.fee-targeting{display:grid;grid-template-columns:1fr 1fr;gap:12px}.fee-target-box{min-width:0}.fee-target-box>select{margin-top:5px;min-height:30px}.fee-target-chips{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.fee-target-chips button{border:0;border-radius:16px;background:var(--fcw-soft);color:var(--color-primary);font-size:11px;padding:5px 8px}.fee-target-box [data-fee-target-results]>button{display:block;text-align:left;width:100%;padding:7px;border:1px solid var(--fcw-border);background:var(--color-surface);font-size:12px}.fee-derived{background:var(--fcw-soft);border-radius:8px;padding:10px;font-size:12px;color:var(--fcw-muted)}.fee-derived p{margin:5px 0}
@media(max-width:760px){.fee-tariff-editor,.fee-targeting{grid-template-columns:1fr}}
.fee-schedule-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:0 16px 16px}.fee-schedule-kpis article{display:flex;gap:10px;align-items:center;border:1px solid var(--fcw-border);border-radius:8px;padding:12px}.fee-schedule-kpis article>.fcw-icon{width:30px;height:30px;color:var(--color-primary)}.fee-schedule-kpis strong{font-size:12px;display:block}.fee-schedule-kpis small{display:block;color:var(--fcw-muted);font-size:11px;margin-top:5px}.fee-calendar-preview{margin:16px;border:1px solid var(--fcw-border);border-radius:10px;padding:16px}.fee-calendar-preview h3{font-size:14px;margin:0 0 14px}.fee-calendar-preview>div{display:flex;gap:18px;overflow:auto}.fee-calendar-preview article{display:grid;gap:6px;text-align:center;min-width:85px;font-size:11px}.fee-calendar-preview article>span{color:var(--color-primary);font-size:20px}.fee-calendar-preview p{font-size:11px;color:var(--fcw-muted)}
.finance-configuration-workspace .fee-layout .fcw-main-panel>header{padding:16px;display:flex}.finance-configuration-workspace .fee-layout .fcw-main-panel>header>div:first-child{display:block}.finance-configuration-workspace .fee-layout .fcw-main-panel h2{font-size:17px}
@media(max-width:760px){.fee-schedule-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
.finance-configuration-workspace .fcw-backdrop{position:fixed;inset:0;width:100vw!important;height:100dvh!important;max-width:none!important;max-height:none!important;border-radius:0;padding:0;background:rgba(12,31,57,.48)}
.fcw-modal-card[data-fcw-form="tariff"]>header h2,.fcw-modal-card[data-fcw-form="schedule"]>header h2{font-size:24px!important;line-height:1.3}
#pageContent .finance-configuration-workspace .fcw-modal .fcw-modal-card>header h2{font-size:24px!important;line-height:1.3}
.fee-summary{margin:0;border:1px solid var(--fcw-border);border-radius:8px;overflow:hidden;background:var(--fcw-soft)}.fee-summary>div{display:grid;grid-template-columns:40% minmax(0,1fr);gap:8px;padding:7px 10px;border-bottom:1px solid var(--fcw-border);font-size:12px}.fee-summary>div:last-child{border-bottom:0}.fee-summary dt{color:var(--fcw-muted)}.fee-summary dd{margin:0;overflow-wrap:anywhere}
@media(max-width:760px){.finance-configuration-workspace .fcw-readonly{display:grid;grid-template-columns:20px minmax(0,1fr)}.finance-configuration-workspace .fcw-readonly>button{grid-column:1/-1;width:100%;white-space:normal;height:auto;min-height:40px}.fcw-modal-card[data-fcw-form="tariff"]>header h2,.fcw-modal-card[data-fcw-form="schedule"]>header h2{font-size:20px!important}}
.finance-configuration-workspace .fcw-modal-card[data-fcw-form="tariff"]>header h2,.finance-configuration-workspace .fcw-modal-card[data-fcw-form="schedule"]>header h2{font-size:24px!important;line-height:1.3;margin-top:5px}.finance-configuration-workspace .fcw-modal-card>header{padding:20px}
.fee-rule-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.fee-rule-choices>label{display:flex;align-items:flex-start;gap:8px;padding:12px;border:1px solid var(--fcw-border);border-radius:8px;font-size:12px}.fee-rule-choices>label:has(input:checked){border-color:var(--color-primary);background:var(--fcw-soft)}.fee-rule-choices input{width:16px;min-height:16px;flex:0 0 16px;margin-top:2px}.fee-rule-choices small{display:block;font-size:11px;font-weight:400;color:var(--fcw-muted);margin-top:5px}.fee-schedule-editor [hidden]{display:none}
@media(max-width:760px){.fee-rule-choices{grid-template-columns:1fr}.finance-configuration-workspace .fcw-modal-card[data-fcw-form]>header h2{font-size:20px}}
.fee-layout .fee-selection{align-items:flex-start;justify-content:space-between;flex-wrap:nowrap;padding:18px}
.fee-selection .fee-selection-title{align-items:flex-start;min-width:0}
.fee-selection-title>div{min-width:0}
.fee-selection .fee-counts{margin-top:12px;justify-content:flex-start}
.fee-selection .fee-counts>div{min-width:78px;padding:8px 12px}
.fee-selection .fee-actions{justify-content:flex-end;flex-shrink:0;max-width:49%}
.fee-layout .fee-bottom{grid-template-columns:minmax(0,1fr)}
.fee-bottom .fcw-package-preview .fcw-table-wrap table{min-width:0;width:100%}
.fee-layout .fcw-fee-selector{padding:16px 12px 22px;border:1px solid var(--ui-border,#dce7f3);border-radius:12px;background:var(--ui-surface,#fff);max-height:calc(100vh - 160px);overflow:auto;scroll-padding-block:12px}
.fee-layout .fcw-fee-selector>label{display:grid;gap:7px;font-size:12px}
.fee-layout .fcw-fee-catalogue{padding:4px 0 12px}
.fee-layout .fcw-fee-catalogue h3{margin:16px 8px 6px;font-weight:600}
.fee-layout .fcw-fee-catalogue button{min-height:40px;padding:9px 10px;margin:2px 0;font-weight:400;border-radius:7px;line-height:1.35;text-align:left}
.fee-layout .fcw-fee-catalogue button>.fcw-icon{flex:0 0 18px;width:18px;height:18px}
.fee-layout .fcw-fee-catalogue button:hover{background:#f1f7ff}
.fee-layout .fcw-fee-catalogue button.active{font-weight:600;background:#e8f2ff;box-shadow:inset 3px 0 #087dff;color:#0064df}
.fee-layout .fcw-fee-catalogue button:focus-visible{outline:2px solid #087dff;outline-offset:1px}
.fee-layout .fcw-catalogue-help{margin:14px 0 0;padding:12px;line-height:1.5}
.fee-schedules .fcw-table-wrap table{width:100%;min-width:690px;table-layout:fixed}
.fee-schedules .fcw-table-wrap :is(th,td){padding:8px 6px}
.fee-schedules .fcw-table-wrap th:first-child{width:30px}
.fee-schedules .fcw-table-wrap th:nth-child(2){width:32px}
.fee-schedules .fcw-table-wrap th:nth-child(3){width:21%}
.fee-schedules .fcw-table-wrap th:last-child{width:118px}
.fee-schedules .fcw-table-wrap th{white-space:normal}
.fee-schedules .fcw-table-wrap td{overflow-wrap:anywhere}
@media(max-width:1100px){.fee-layout .fee-selection{flex-wrap:wrap}.fee-selection .fee-actions{max-width:100%}.fee-layout .fcw-fee-selector{max-height:600px}}
@media(max-width:760px){.fee-layout .fcw-fee-selector{max-height:280px}.fee-selection .fee-actions{justify-content:flex-start}}
.fee-layout .fcw-fee-catalogue button{--ns-control-font-weight:400;--ns-control-padding-inline:10px}
.fee-layout .fcw-fee-catalogue button.active{--ns-control-font-weight:600}
.fee-schedules table{--ns-table-action-width:118px;--ns-table-cell-padding-inline:6px}
.fee-content .fcw-main-panel table{--ns-table-action-width:118px}
.fee-layout .fcw-fee-catalogue button{border:0;box-shadow:none}
.fee-layout .fcw-fee-catalogue button.active{box-shadow:inset 3px 0 #087dff}

/* Narrow, temporary RC20.8.4 FAP operator control. */
.fcw-fap-entry{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 16px;margin-bottom:12px;border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-primary-soft)}
.fcw-fap-entry>div{display:grid;gap:3px}.fcw-fap-entry strong{color:var(--color-text-primary);font-size:var(--ui-font-body)}.fcw-fap-entry span{color:var(--color-text-secondary);font-size:var(--ui-font-help)}
.fcw-fap-modal{width:min(800px,96vw)}.fcw-fap-body{display:grid;gap:14px;padding:18px}.fcw-fap-body>.ui-label{display:grid;gap:6px;max-width:440px;font-weight:700}.fcw-fap-body>.ui-label input{height:var(--ui-control-height);border:1px solid var(--color-border);border-radius:8px;padding:8px 11px;background:var(--color-input-bg)}
.fcw-fap-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.fcw-fap-summary>div{display:grid;gap:3px;padding:10px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface-muted)}.fcw-fap-summary span{font-size:11px;color:var(--color-text-secondary)}.fcw-fap-summary strong{font-size:15px;color:var(--color-text-primary)}
.fcw-fap-notice,.fcw-fap-warning,.fcw-fap-error,.fcw-fap-success{margin:0;padding:11px 13px;border-radius:8px;font-size:13px}.fcw-fap-notice{background:var(--color-primary-soft)}.fcw-fap-warning{background:color-mix(in srgb,var(--color-warning) 13%,var(--color-surface));color:var(--color-text-primary)}.fcw-fap-error{background:color-mix(in srgb,var(--color-danger) 13%,var(--color-surface));color:var(--color-danger)}.fcw-fap-success,.fcw-fap-results{background:color-mix(in srgb,var(--color-success) 12%,var(--color-surface));color:var(--color-text-primary)}.fcw-fap-results{padding:8px 13px;border-radius:8px}.fcw-fap-results p{margin:5px 0}
.fcw-fap-body .fcw-check{display:flex!important;align-items:flex-start;gap:8px;font-size:13px}.fcw-fap-body .fcw-check input{width:17px;min-width:17px;height:17px;margin-top:2px}
@media(max-width:760px){.fcw-fap-entry{align-items:flex-start;flex-direction:column}.fcw-fap-entry button{width:100%}.fcw-fap-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.fcw-fap-body{padding:13px}}
