/* Studio surfaces share the app palette; existing dialog sizes and spacing stay intact. */
:is(dialog,.catalog-manager,.planning-view){--ui-panel:var(--studio-panel);--ui-field:var(--studio-field);--ui-raised:var(--studio-raised);--ui-edge:var(--studio-edge);--ui-text:var(--studio-text);--ui-secondary:var(--studio-secondary);--ui-muted:var(--studio-muted);--ui-accent:var(--studio-accent);--ui-on-accent:var(--studio-on-accent);--ui-focus:var(--studio-accent);--ui-selected:var(--studio-selected);--ui-selected-text:var(--studio-selected-text);--ui-danger:var(--studio-danger);--ui-shadow:var(--studio-shadow);--ui-dialog-width:640px}
:is(dialog.dialog-form,dialog.mobile-finance-editor){box-sizing:border-box;width:min(var(--ui-dialog-width),calc(100vw - 32px))!important;max-width:calc(100vw - 32px);max-height:calc(100dvh - 48px);padding:0;border:1px solid var(--ui-edge);border-radius:12px;background:var(--ui-panel);color:var(--ui-text);box-shadow:var(--ui-shadow);overflow:hidden;font-size:13px;line-height:1.5}
dialog.dialog-form[open]{display:flex;flex-direction:column}
dialog::backdrop{background:rgb(15 22 17 / .32);backdrop-filter:none}
dialog.dialog-form>:is(form,.dialog-body){display:flex;flex-direction:column;min-height:0;width:100%;max-height:inherit;margin:0;padding:0;overflow:hidden}
dialog.dialog-form .dialog-heading{flex:none;display:flex;align-items:center;gap:16px;min-height:68px;margin:0;padding:20px 24px 18px;border-bottom:1px solid var(--ui-edge);background:var(--ui-panel)}
dialog.dialog-form .dialog-heading h2{margin:0;font-size:18px;line-height:1.35;letter-spacing:-.25px;font-weight:650;color:var(--ui-text)}
dialog.dialog-form .dialog-heading .icon-button{flex:none;display:grid;place-items:center;width:28px;height:28px;min-height:28px;margin-left:auto;padding:0;border:0;border-radius:6px;font-size:23px;font-weight:400;line-height:1;color:var(--ui-secondary);background:transparent}
dialog.dialog-form .dialog-heading .icon-button:hover{background:var(--ui-raised);color:var(--ui-text)}
dialog.dialog-form .dialog-content{flex:1 1 auto;min-width:0;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:22px 24px;scroll-padding:20px}
dialog.dialog-form .dialog-section{padding:0;margin:0 0 24px;min-width:0}
dialog.dialog-form .dialog-section:last-child{margin-bottom:0}
dialog.dialog-form .dialog-section+.dialog-section{padding-top:20px;border-top:1px solid var(--ui-edge)}
dialog.dialog-form .dialog-section-title{font-size:12px;line-height:1.4;font-weight:650;color:var(--ui-secondary);letter-spacing:.25px;margin:0 0 14px}
dialog.dialog-form label{display:block;min-width:0;margin:0 0 16px;color:var(--ui-secondary);font-size:12px;font-weight:550;line-height:1.5}
dialog.dialog-form :is(input:not([type=checkbox]):not([type=radio]),select,textarea){box-sizing:border-box;display:block;width:100%;min-width:0;max-width:100%;min-height:38px;margin-top:6px;padding:8px 11px;border:1px solid var(--ui-edge);border-radius:7px;background-color:var(--ui-field);color:var(--ui-text);font-family:inherit;font-size:13px;line-height:1.4;box-shadow:0 1px 2px #00000005}
dialog.dialog-form textarea{min-height:82px;resize:vertical}
dialog.dialog-form input[type=date]{appearance:none;-webkit-appearance:none}
dialog.dialog-form input[type=file]{padding:7px 9px}
dialog.dialog-form input::file-selector-button{border:0;border-radius:5px;background:var(--ui-raised);color:var(--ui-text);padding:4px 8px;margin-right:10px;font:inherit}
dialog.dialog-form :is(input,select,textarea):disabled{opacity:.6}
dialog.dialog-form :is(input[type=checkbox],input[type=radio]){width:16px;height:16px;min-height:16px;flex:none;margin:0;accent-color:var(--ui-accent)}
dialog.dialog-form .form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
dialog.dialog-form :is(.field-help,.dialog-description,.schedule-step,.review-summary,.schedule-summary){margin:0 0 16px;font-size:12px;line-height:1.55;color:var(--ui-secondary);overflow-wrap:anywhere}
dialog.dialog-form .field-help:last-child{margin-bottom:0}
dialog.dialog-form :is(.form-message,.review-feedback){font-size:12px;line-height:1.5;overflow-wrap:anywhere;margin:0}
dialog.dialog-form :is(.form-message,.review-feedback):not(:empty){padding:10px 12px;margin:0 0 12px;border:1px solid color-mix(in srgb,var(--ui-danger) 30%,transparent);border-radius:8px;background:color-mix(in srgb,var(--ui-danger) 7%,var(--ui-panel));color:var(--ui-danger)}
dialog.dialog-form :is(.form-message,.review-feedback):empty{display:none}
dialog.dialog-form .dialog-actions{flex:none;display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin:0;padding:16px 24px;border-top:1px solid var(--ui-edge);background:var(--studio-sidebar)}
dialog.dialog-form .dialog-actions>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
dialog.dialog-form .dialog-actions.spread{justify-content:space-between}
dialog.dialog-form .dialog-actions>.field-help{margin:0 auto 0 0;flex:1;font-size:11px;min-width:140px}
dialog.dialog-form .button{min-height:34px;min-width:80px;padding:7px 14px;border:1px solid var(--ui-edge);border-radius:7px;background:var(--ui-panel);color:var(--ui-text);font-size:12px;line-height:18px;font-weight:550;white-space:normal;transition:background-color .12s,border-color .12s}
dialog.dialog-form .button:hover:not(:disabled){background:var(--ui-raised);border-color:var(--ui-secondary)}
dialog.dialog-form .button.primary{border-color:var(--ui-accent);background:var(--ui-accent);color:var(--ui-on-accent);box-shadow:0 1px 2px #0002}
dialog.dialog-form .button.primary:hover:not(:disabled){background:color-mix(in srgb,var(--ui-accent) 90%,var(--ui-on-accent))}
dialog.dialog-form .button.danger{color:var(--ui-danger)}
dialog.dialog-form .button.quiet{background:transparent;box-shadow:none}
dialog.dialog-form :is(button,input,select,textarea,summary):focus-visible{outline:2px solid var(--ui-focus);outline-offset:2px}
dialog.dialog-form .button:disabled{opacity:.45}
dialog.dialog-form :is(.settings-actions,.backup-actions){display:flex;flex-wrap:wrap;gap:8px}
dialog.dialog-form .backup-actions>.button{flex:1 1 170px;min-height:44px}
dialog.dialog-form .dialog-details{padding:12px 14px;border:1px solid var(--ui-edge);border-radius:9px;background:var(--ui-field)}
dialog.dialog-form .dialog-details summary{cursor:pointer;font-size:12px;font-weight:550;color:var(--ui-text)}
dialog.dialog-form .dialog-details[open] summary{margin-bottom:10px}
dialog.dialog-form .column-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 16px;margin:0 0 18px}
dialog.dialog-form :is(.column-options label,.checkbox-label){display:flex;align-items:center;gap:10px;min-height:34px;margin:0;color:var(--ui-text);font-weight:400}
dialog.dialog-form .reconciliation-summary{padding:14px 16px;margin:4px 0 16px;border:1px solid var(--ui-edge);border-radius:10px;background:var(--ui-field)}
dialog.dialog-form .reconciliation-summary div{gap:12px;padding:5px 0}
dialog.dialog-form .reconciliation-summary dt{color:var(--ui-secondary);font-size:12px}
dialog.dialog-form .reconciliation-summary dd{font-variant-numeric:tabular-nums;font-size:14px}
dialog.dialog-form .reconciliation-summary .difference{margin-top:8px;padding-top:12px;border-top:1px solid var(--ui-edge)}
dialog.dialog-form .transaction-info-list p{display:grid;grid-template-columns:150px minmax(0,1fr);gap:12px;margin:0;padding:10px 0;border-bottom:1px solid var(--ui-edge);overflow-wrap:anywhere;font-size:12px}
dialog.dialog-form .transaction-info-list strong{font-weight:550;color:var(--ui-secondary)}
dialog.dialog-form .deleted-entry{padding:14px 0;gap:12px;border-color:var(--ui-edge);align-items:center;flex-wrap:wrap}
dialog.dialog-form .deleted-entry>div{min-width:0;overflow-wrap:anywhere;flex:1 1 260px}
dialog.dialog-form .split-editor-row{gap:10px;margin-bottom:14px}
dialog.dialog-form .split-editor-row label{margin:0}
dialog.dialog-form .split-editor-row button{min-width:0}
#schedule-dialog .schedule-wizard-actions{position:static;bottom:auto;padding:16px 24px;margin:0;z-index:auto;background:var(--studio-sidebar)}
#schedule-dialog .schedule-field{margin-bottom:16px}
#schedule-dialog .schedule-cadence{grid-template-columns:minmax(0,1fr);gap:20px}
#schedule-dialog .schedule-preview{margin:0;padding:16px;border:1px solid var(--ui-edge);border-radius:10px;background:var(--ui-field)}
#schedule-dialog .schedule-preview h3{margin:0 0 10px;font-size:13px;font-weight:600}
#schedule-dialog .schedule-cadence .schedule-next-dates{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 18px}
#schedule-dialog .schedule-grid{gap:0 16px}
#schedule-dialog .schedule-split-panel{border-color:var(--ui-edge);background:var(--ui-field);border-radius:10px;padding:14px}
#schedule-dialog .schedule-source-summary{color:var(--ui-secondary);font-size:12px;line-height:1.5}
#bank-review-dialog{width:min(var(--ui-dialog-width),calc(100vw - 32px))!important}
#bank-review-dialog .dialog-body{padding:0;max-height:inherit}
#bank-review-dialog .dialog-content{display:flex;flex-direction:column;overflow:hidden;min-height:0}
#bank-review-dialog .bank-review-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px}
#bank-review-dialog .bank-review-toolbar>label{margin:0;flex:1 1 180px}
#bank-review-dialog .bank-review-toolbar :is(input,select){margin:0}
#bank-review-dialog .bank-review-toolbar .checkbox-label{flex-basis:100%;font-size:12px}
#bank-review-dialog .bank-review-list{min-height:0;overflow:auto;border:1px solid var(--ui-edge);border-radius:9px;background:var(--ui-field)}
#bank-review-dialog .bank-review-list:empty{display:none}
#bank-review-dialog .bank-review-list :is(th,td){border-color:var(--ui-edge);font-size:12px}
#bank-review-dialog .bank-review-list :is(input,select){min-height:32px;margin:0;font-size:12px;border-radius:6px}
#bank-review-dialog .review-empty{padding:36px 16px;text-align:center;color:var(--ui-secondary);font-size:14px}
#bank-review-dialog .dialog-actions{padding:16px 24px}
dialog.confirmation-dialog{--ui-dialog-width:420px}
dialog.confirmation-dialog .dialog-heading{min-height:0;border:0;padding:24px 24px 0}
dialog.confirmation-dialog .dialog-heading h2{font-size:17px;line-height:1.4}
dialog.confirmation-dialog .dialog-content{padding:14px 24px 22px}
dialog.confirmation-dialog .confirmation-question{margin:0;font-size:14px;line-height:1.55;font-weight:400;letter-spacing:0;color:var(--ui-secondary)}
dialog.confirmation-dialog .confirmation-detail{font-size:12px;color:var(--ui-secondary);margin:10px 0 0}
dialog.confirmation-dialog .dialog-actions{padding:16px 24px;gap:8px}
dialog.confirmation-dialog .dialog-actions>.button{flex:1;border-radius:7px;min-height:36px}
/* Preserve the mobile editor's full-screen workflow and native date sizing. */
dialog.mobile-finance-editor{background:var(--ui-panel);height:min(840px,calc(100dvh - 48px))}
dialog.mobile-finance-editor :is(.mf-editor-header,.mf-editor-footer){background:var(--ui-panel);border-color:var(--ui-edge)}
dialog.mobile-finance-editor :is(.mf-editor-header h2,.mf-direction-button[aria-pressed=true]){color:var(--ui-text)}
dialog.mobile-finance-editor :is(.mf-editor-account,.mf-field,.mf-dirty-label){color:var(--ui-secondary)}
dialog.mobile-finance-editor .mf-field :is(input,select,textarea){border-color:var(--ui-edge);background-color:var(--ui-field);color:var(--ui-text);border-radius:7px}
dialog.mobile-finance-editor .mf-field-amount input{background:transparent;font-weight:600}
dialog.mobile-finance-editor .mf-direction{background:var(--ui-field);border-color:var(--ui-edge);border-radius:10px}
dialog.mobile-finance-editor .mf-direction-button{color:var(--ui-secondary)}
dialog.mobile-finance-editor .mf-direction-button[aria-pressed=true]{background:var(--ui-selected);border-color:var(--ui-edge);color:var(--ui-selected-text);box-shadow:none}
dialog.mobile-finance-editor :is(.mf-save-button,.mf-scope-button){border-radius:7px}
dialog.mobile-finance-editor .mf-save-button{background:var(--ui-accent);border-color:var(--ui-accent);color:var(--ui-on-accent)}
dialog.mobile-finance-editor .mf-text-button{color:var(--ui-accent)}
:is(.catalog-manager,.planning-view){color:var(--ui-text)}
:is(.catalog-manager,.planning-view) :is(.workspace-button,.planning-button){border-radius:7px;min-height:34px;padding:7px 12px;font-weight:550;border-color:var(--ui-edge);background:var(--ui-field);color:var(--ui-text)}
:is(.catalog-manager,.planning-view) :is(.catalog-primary,.planning-primary){background:var(--ui-accent);border-color:var(--ui-accent);color:var(--ui-on-accent)}
:is(.catalog-manager,.planning-view) :is(input:not([type=checkbox]),select){border-color:var(--ui-edge);background-color:var(--ui-field);color:var(--ui-text);border-radius:7px;min-height:36px}
:is(.catalog-manager,.planning-view) :is(.catalog-editor,.planning-save-report,.planning-confirm){background:var(--ui-panel);border-color:var(--ui-edge);border-radius:12px;padding:20px}
:is(.catalog-manager,.planning-view) :is(.catalog-table-scroll,.planning-scroll){border-color:var(--ui-edge);border-radius:10px}
:is(.catalog-manager,.planning-view) :is(.catalog-heading,.planning-heading) h1{font-size:24px;font-weight:650;letter-spacing:-.4px}
:is(.catalog-manager,.planning-view) :is(button,input,select):focus-visible{outline:2px solid var(--ui-focus);outline-offset:2px}
@media(max-width:680px){
 :is(dialog.dialog-form,dialog.confirmation-dialog){width:calc(100vw - 24px)!important;max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);border-radius:12px}
 dialog.confirmation-dialog{width:min(420px,calc(100vw - 24px))!important}
 dialog.dialog-form .dialog-heading{padding:16px 18px;min-height:62px}
 dialog.dialog-form .dialog-heading .icon-button{width:36px;height:36px}
 dialog.dialog-form .dialog-content{padding:18px}
 dialog.dialog-form .dialog-actions,#schedule-dialog .schedule-wizard-actions,#bank-review-dialog .dialog-actions{padding:12px 18px max(14px,env(safe-area-inset-bottom))}
 dialog.dialog-form :is(input:not([type=checkbox]):not([type=radio]),select,textarea){min-height:44px;font-size:16px}
 dialog.dialog-form .button{min-height:44px;font-size:14px}
 dialog.dialog-form .form-row{grid-template-columns:minmax(0,1fr);gap:0}
 dialog.dialog-form :is(.column-options label,.checkbox-label){min-height:44px;font-size:14px}
 dialog.dialog-form .dialog-actions.spread{display:flex;flex-direction:column-reverse;align-items:stretch}
 dialog.dialog-form .dialog-actions.spread>div{display:flex;justify-content:flex-end}
 dialog.dialog-form .split-editor-row{grid-template-columns:minmax(0,1fr);gap:12px;padding:14px 0}
 dialog.dialog-form .transaction-info-list p{grid-template-columns:minmax(0,1fr);gap:4px}
 dialog.confirmation-dialog .dialog-heading{padding:20px 18px 0}
 dialog.confirmation-dialog .dialog-content{padding:12px 18px 20px}
 #bank-review-dialog .dialog-content{padding:16px}
 #bank-review-dialog .bank-review-toolbar>label{flex-basis:100%}
 #bank-review-dialog .bank-review-toolbar>.button{width:100%}
 #bank-review-dialog .bank-review-list :is(input,select){min-height:44px;font-size:16px}
 #bank-review-dialog .dialog-actions>.field-help{flex-basis:100%}
 #schedule-dialog .schedule-grid{grid-template-columns:minmax(0,1fr)}
 #schedule-dialog .schedule-split-row{grid-template-columns:minmax(0,1fr);gap:10px}
 dialog.mobile-finance-editor{position:fixed;inset:0;margin:0;width:100%!important;max-width:100%;height:var(--mobile-app-height,100dvh);max-height:100dvh;border:0;border-radius:0}
 :is(.catalog-manager,.planning-view) :is(.workspace-button,.planning-button,input:not([type=checkbox]),select){min-height:44px}
}
@media(prefers-reduced-motion:reduce){dialog.dialog-form .button{transition:none}}
/* Ordinary review feedback is informational, not an error. */
dialog.dialog-form .review-feedback:not(:empty){color:var(--ui-text);background:var(--ui-raised);border-color:var(--ui-edge)}
@media(max-width:680px){
 :is(dialog.dialog-form,dialog.confirmation-dialog){max-height:calc(var(--mobile-app-height,100dvh) - 24px)}
 dialog.dialog-form .dialog-heading .icon-button{width:44px;height:44px;min-height:44px}
 #bank-review-dialog .dialog-content{overflow:auto}
 #bank-review-dialog .bank-review-list{flex:none;max-height:50dvh}
}
/* Retire older per-dialog shell overrides; only content layout may vary. */
#schedule-dialog,#bank-review-dialog{max-height:calc(100dvh - 48px);border-radius:12px;background:var(--ui-panel)}
#schedule-dialog form{padding:0}
#schedule-dialog .dialog-heading h2,#bank-review-dialog .dialog-heading h2{font-size:18px;line-height:1.35;font-weight:650}
#bank-review-dialog .dialog-heading{margin:0}
#bank-review-dialog .dialog-actions{margin:0}
#schedule-dialog .schedule-cadence .schedule-preview{padding:16px;border:1px solid var(--ui-edge);border-radius:10px;background:var(--ui-field)}
#schedule-dialog .schedule-step{margin:0 0 18px;color:var(--ui-secondary);font-weight:500}
dialog.dialog-form .dialog-details code{color:var(--ui-text)}
@media(max-width:680px){
 #schedule-dialog,#bank-review-dialog{max-height:calc(var(--mobile-app-height,100dvh) - 24px);border-radius:12px}
 #bank-review-dialog{width:calc(100vw - 24px)!important;max-width:calc(100vw - 24px)}
 #schedule-dialog .schedule-split-row .button{grid-column:auto;min-height:44px}
 dialog.confirmation-dialog .dialog-actions>.button{min-height:44px}
}
/* Review entries fit the standard form width: fields and actions stay visible
   together instead of hiding the amount and Review action off the right edge. */
#bank-review-dialog .bank-review-table{display:block;width:100%;min-width:0;table-layout:auto}
#bank-review-dialog .bank-review-table thead{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
#bank-review-dialog .bank-review-table tbody{display:block}
#bank-review-dialog .bank-review-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 174px;gap:10px 12px;padding:16px;border-bottom:1px solid var(--ui-edge);background:var(--ui-field)}
#bank-review-dialog .bank-review-row:last-child{border-bottom:0}
#bank-review-dialog .bank-review-row:focus-within{background:color-mix(in srgb,var(--ui-accent) 5%,var(--ui-field))}
#bank-review-dialog .bank-review-row>td{display:block;width:auto;min-width:0;height:auto;padding:0;border:0;overflow:visible;white-space:normal;text-align:left}
#bank-review-dialog .bank-review-row>td:nth-child(1){grid-column:1;grid-row:1;align-self:center}
#bank-review-dialog .bank-review-row>td:nth-child(2){grid-column:2;grid-row:1;text-align:right;align-self:center;color:var(--ui-secondary)}
#bank-review-dialog .bank-review-row>td:nth-child(3){grid-column:1/3;grid-row:2;color:var(--ui-secondary);font-size:11px;overflow-wrap:anywhere}
#bank-review-dialog .bank-review-row>td:nth-child(4){grid-column:1/3;grid-row:3}
#bank-review-dialog .bank-review-row>td:nth-child(5){grid-column:3;grid-row:3}
#bank-review-dialog .bank-review-row>td:nth-child(6){grid-column:3;grid-row:1/3;align-self:center;text-align:right;font-size:16px;font-weight:600;display:block;padding:0}
#bank-review-dialog .bank-review-row>td:nth-child(7){grid-column:1/3;grid-row:4}
#bank-review-dialog .bank-review-row>td:nth-child(8){grid-column:3;grid-row:4;align-self:end}
#bank-review-dialog .bank-review-row>td:is(:nth-child(4),:nth-child(5),:nth-child(7)):before{display:block;font-size:11px;color:var(--ui-secondary);margin-bottom:5px;line-height:1.4}
#bank-review-dialog .bank-review-row>td:nth-child(4):before{content:'Payee'}
#bank-review-dialog .bank-review-row>td:nth-child(5):before{content:'Category'}
#bank-review-dialog .bank-review-row>td:nth-child(7):before{content:'Notes'}
#bank-review-dialog .bank-review-row>td:nth-child(6):before{display:none}
#bank-review-dialog .bank-review-row input[data-review-field]{height:34px;padding:6px 9px;border:1px solid var(--ui-edge);background:var(--ui-field);color:var(--ui-text)}
#bank-review-dialog .review-row-actions{gap:6px;flex-wrap:wrap}
#bank-review-dialog .review-row-actions .button{min-width:0;min-height:32px;padding:5px 8px;font-size:11px;flex:1}
#bank-review-dialog .bank-review-detail-row,#bank-review-dialog .bank-review-detail-row>td{display:block;width:100%;padding:0}
#bank-review-dialog .bank-review-detail-row .bank-review-card{padding:16px;border-radius:0;background:var(--ui-panel);border-color:var(--ui-accent)}
@media(max-width:680px){
 #bank-review-dialog .bank-review-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;padding:12px}
 #bank-review-dialog .bank-review-row>td:nth-child(2){grid-column:2}
 #bank-review-dialog .bank-review-row>td:nth-child(3){grid-column:1/-1}
 #bank-review-dialog .bank-review-row>td:nth-child(4){grid-column:1/-1;grid-row:3}
 #bank-review-dialog .bank-review-row>td:nth-child(5){grid-column:1;grid-row:4}
 #bank-review-dialog .bank-review-row>td:nth-child(6){grid-column:2;grid-row:4;align-self:end;padding-bottom:12px;font-size:15px}
 #bank-review-dialog .bank-review-row>td:nth-child(7){grid-column:1/-1;grid-row:5}
 #bank-review-dialog .bank-review-row>td:nth-child(8){grid-column:1/-1;grid-row:6}
 #bank-review-dialog .bank-review-row input[data-review-field]{height:44px;min-height:44px;font-size:16px}
 #bank-review-dialog .review-row-actions .button{min-height:44px;font-size:13px}
}

@media(max-width:680px){:is(.catalog-manager,.planning-view) :is(input:not([type=checkbox]),select){font-size:16px}}
#bank-review-dialog .match-confirmation{padding:10px 12px;border:1px solid var(--ui-edge);border-radius:8px;background:var(--ui-field);margin:10px 0}
#bank-review-dialog .match-confirmation label{display:flex;align-items:flex-start;gap:9px;margin:0;color:var(--ui-text);font-weight:400;line-height:1.5}
#bank-review-dialog .bank-review-list input[type=checkbox]{display:inline-block;width:16px;height:16px;min-height:16px;margin:2px 0 0;padding:0;border-radius:3px;flex:none}

dialog.dialog-form .form-message[role=status]:not(:empty){color:var(--ui-text);background:var(--ui-raised);border-color:var(--ui-edge)}
dialog.dialog-form .backup-actions{margin-bottom:14px}
.catalog-manager .catalog-tabs{display:inline-flex;gap:3px;padding:3px;border:1px solid var(--ui-edge);border-radius:10px;background:var(--ui-raised)}
.catalog-manager .catalog-tabs .workspace-button{border:1px solid transparent;background:transparent;box-shadow:none}
.catalog-manager .catalog-tabs [aria-current=page]{background:var(--ui-selected);border-color:var(--ui-edge);color:var(--ui-selected-text);box-shadow:none}
.catalog-manager .catalog-actions .workspace-button{background:transparent;border-color:transparent;min-height:30px;padding:5px 7px;margin:0 0 0 2px;font-size:11px;font-weight:500}
.catalog-manager .catalog-actions .workspace-button:hover:not(:disabled){background:var(--ui-raised);border-color:var(--ui-edge)}
.catalog-manager .catalog-table td{height:42px}
@media(max-width:680px){.catalog-manager .catalog-actions .workspace-button{min-height:44px;font-size:13px}.catalog-manager .catalog-table td{height:auto}}

@media(max-width:680px){#bank-review-dialog .match-confirmation label{min-height:44px;align-items:center}}

/* Supporting states use the same sage palette as the primary form surfaces. */
:is(dialog.dialog-form,dialog.mobile-finance-editor,.catalog-manager,.planning-view) :is(input,textarea)::placeholder{color:var(--ui-muted);opacity:1}
dialog.dialog-form :is(input,textarea)[readonly]{background-color:var(--ui-raised);color:var(--ui-secondary)}
dialog.dialog-form .button.danger:hover:not(:disabled){background:color-mix(in srgb,var(--ui-danger) 8%,var(--ui-panel));border-color:var(--ui-danger)}
#schedule-dialog :is(.schedule-split-row,.schedule-source-summary){background:var(--ui-raised);border-color:var(--ui-edge);border-radius:8px}
#schedule-dialog :is(.schedule-help,.schedule-tracking-note,.schedule-interval-unit,.schedule-preview h3){color:var(--ui-secondary)}
#bank-review-dialog :is(.review-card-context,.review-reason,.review-summary){color:var(--ui-secondary)}
#bank-review-dialog .review-row-attention{background:var(--ui-raised);border-color:var(--ui-accent);color:var(--ui-text)}
dialog.mobile-finance-editor .mf-editor-footer{background:var(--studio-sidebar)}
dialog.mobile-finance-editor .mf-field :is(input,select,textarea):disabled{color:var(--ui-secondary);background-color:var(--ui-raised)}
dialog.mobile-finance-editor .mf-field-amount input:disabled{background-color:transparent}
dialog.mobile-finance-editor :is(.mf-lock-note,.mf-split-note){color:var(--ui-secondary);background:var(--ui-raised);border-color:var(--ui-edge);border-radius:8px}
dialog.mobile-finance-editor :is(.mf-scope-choice,.mf-discard-choice) p{color:var(--ui-secondary)}
dialog.mobile-finance-editor .mf-scope-button{background:var(--ui-panel);border-color:var(--ui-edge);color:var(--ui-text)}
dialog.mobile-finance-editor :is(.mf-editor-error,.mf-destructive){color:var(--ui-danger)}
dialog.mobile-finance-editor :is(button,input,select,textarea):focus-visible{outline:2px solid var(--ui-focus);outline-offset:2px}
:is(.catalog-manager,.planning-view) :is(.workspace-button,.planning-button):hover:not(:disabled){background:var(--ui-raised);border-color:var(--ui-secondary)}
:is(.catalog-manager,.planning-view) :is(.catalog-primary,.planning-primary):hover:not(:disabled){background:color-mix(in srgb,var(--ui-accent) 90%,var(--ui-on-accent));border-color:var(--ui-accent)}
:is(.catalog-manager,.planning-view) input[type=checkbox]{accent-color:var(--ui-accent)}
.catalog-manager :is(.catalog-field,.catalog-help,.catalog-state,.catalog-footer,.catalog-empty,.catalog-table small){color:var(--ui-secondary)}
.catalog-manager .catalog-text-button{color:var(--ui-text)}
.catalog-manager .catalog-field input[readonly]{background-color:var(--ui-raised);color:var(--ui-secondary)}
.catalog-manager .catalog-status{background:var(--ui-raised);border-color:var(--ui-accent);color:var(--ui-text)}
.catalog-manager :is(.catalog-status[role=alert],.catalog-form-error){color:var(--ui-danger)}
.catalog-manager .catalog-actions .workspace-button{border-radius:5px}
.planning-view .planning-button.planning-link{background:transparent;border-color:transparent;color:var(--ui-accent)}
.planning-view .planning-danger{color:var(--ui-danger)}
.planning-view :is(.planning-muted,.planning-field,.planning-stat>span,.planning-empty,.planning-pagination){color:var(--ui-secondary)}
.planning-view .planning-accounts>summary{background:var(--ui-field);border-color:var(--ui-edge);border-radius:7px}
.planning-view .planning-accounts>summary:focus-visible{outline:2px solid var(--ui-focus);outline-offset:2px}
.planning-view .planning-account-options{background:var(--ui-panel);border-color:var(--ui-edge);border-radius:8px}
.planning-view :is(.planning-stats,.planning-drilldown){border-color:var(--ui-edge)}
.planning-view .planning-notice{background:var(--ui-selected);border-color:var(--ui-edge);border-radius:8px;color:var(--ui-selected-text)}
.planning-view .planning-error{color:var(--ui-danger);background:color-mix(in srgb,var(--ui-danger) 8%,var(--ui-panel))}
.planning-view .planning-budget-grid input:invalid{border-color:var(--ui-danger)}
.planning-view .planning-row-actions>.planning-button{border-radius:5px}
@media screen{
 .planning-view{background:var(--studio-canvas)}
 :is(.catalog-manager,.planning-view) :is(.catalog-table,.planning-table) :is(th,td){border-color:var(--ui-edge)}
 :is(.catalog-manager,.planning-view) :is(.catalog-table,.planning-table) th{background:var(--ui-panel);color:var(--ui-secondary)}
 .planning-view .planning-table tbody tr:nth-child(even){background:color-mix(in srgb,var(--ui-raised) 35%,var(--studio-canvas))}
 .planning-view .planning-negative{color:var(--ui-danger)}
}
