.finance-feature{display:grid;grid-template-columns:minmax(0,1fr);min-width:0;gap:18px;color:var(--text,#16324d)}
.finance-toolbar,.finance-section-title,.finance-inline-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.finance-toolbar{padding:16px;background:white;border:1px solid var(--line,#d7e0e6);border-radius:10px}
.finance-toolbar p{flex:1;min-width:240px;margin:0;color:var(--muted,#5d6e7d)}
.finance-section-title{justify-content:space-between;margin:22px 0 10px}.finance-section-title h2{font-size:18px;margin:0}
.finance-feature label,.finance-dialog label{display:grid;gap:6px;font-size:14px}
.finance-feature select,.finance-dialog input,.finance-dialog select,.finance-dialog textarea{padding:9px 10px;border:1px solid var(--line,#d7e0e6);border-radius:6px;min-height:40px;font:inherit;background:white;color:inherit;width:100%}
.finance-dialog textarea{min-height:80px}.finance-dialog input:focus,.finance-dialog select:focus,.finance-dialog textarea:focus{outline:3px solid var(--focus-ring);outline-offset:1px}
.finance-table-wrap{overflow:auto;max-height:65vh;background:white;border:1px solid var(--line,#d7e0e6);border-radius:8px}
.finance-table{width:100%;border-collapse:collapse;font-size:14px;min-width:620px}.finance-table th,.finance-table td{padding:11px 13px;text-align:left;border-bottom:1px solid var(--line,#d7e0e6);vertical-align:top}.finance-table th{font-size:13px;background:var(--table-head);position:sticky;top:0}.finance-table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.finance-table td:last-child{white-space:nowrap}.finance-table small{display:block;color:var(--muted,#5d6e7d)}
.finance-dialog{width:min(1120px,calc(100vw - 32px));max-height:90vh;border:1px solid var(--line,#d7e0e6);border-radius:12px;padding:0;color:var(--text,#16324d)}.finance-dialog::backdrop{background:var(--scrim)}.finance-dialog form{padding:20px;display:grid;gap:14px}.finance-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.finance-dialog h2{font-size:20px;margin:0}.finance-form-body{display:grid;gap:14px}.finance-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.finance-error{color:#b42335;margin:0}.finance-dialog footer{display:flex;justify-content:flex-end;position:sticky;bottom:0;background:white;border-top:1px solid var(--line);padding:14px 0}.finance-checkbox{display:flex!important;align-items:center;gap:8px;padding:8px;border-bottom:1px solid var(--line)}.finance-checkbox input{width:20px;min-height:20px}.finance-kv{display:grid;grid-template-columns:150px 1fr;gap:10px}.finance-kv dd{margin:0}.finance-prewrap{white-space:pre-wrap}.finance-table input[type=number]{min-width:110px;text-align:right;font-variant-numeric:tabular-nums}
@media(max-width:768px){.finance-form-grid{grid-template-columns:1fr}.finance-dialog{width:calc(100vw - 16px)}.finance-dialog form{padding:14px}.finance-dialog input,.finance-dialog select,.finance-dialog textarea{font-size:16px;min-height:44px}.finance-dialog .btn,.finance-feature .btn{min-height:44px}.finance-toolbar p{min-width:0}.finance-kv{grid-template-columns:110px 1fr}}
.finance-table th.num{text-align:right}.finance-table th.center{text-align:center}

.finance-content{min-width:0}.finance-toolbar>label{min-width:0;max-width:100%}
@media(max-width:768px){.finance-toolbar{align-items:stretch;flex-direction:column}}

/* Shared semantic alignment and corrective feedback for finance workflows. */
.finance-table .center{text-align:center}.finance-table .actions{text-align:right}
.finance-allocation-summary{padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.finance-allocation-summary.is-error,.finance-field-error{color:var(--red-600)}
.finance-field-error{white-space:normal;min-height:18px;max-width:280px}
.finance-dialog [aria-invalid="true"]{border-color:var(--red-600);outline-color:var(--red-600)}
.finance-dialog .finance-error{min-height:20px;outline-offset:3px}
.finance-dialog [aria-busy="true"]{cursor:progress}
@media(max-width:768px){.finance-feature select,.finance-table a{min-height:44px}.finance-table a{display:inline-flex;align-items:center}.finance-allocation-summary{line-height:1.7}}

.finance-dialog form,.finance-form-body,.finance-form-body>*,.finance-allocation{min-width:0}

.finance-dialog .finance-error.is-pending{color:var(--muted)}
