.budget-recovery-dialog,.budget-start-dialog { margin:auto; width:min(780px,calc(100vw - 24px)); max-height:calc(100dvh - 32px); overflow:auto; border:1px solid var(--border-strong); border-radius:20px; padding:24px; background:var(--surface-raised); color:var(--text-primary); box-shadow:var(--shadow-lg); font-family:'Segoe UI Variable','Segoe UI',system-ui,sans-serif; }
.budget-recovery-dialog::backdrop,.budget-start-dialog::backdrop { background:#0009; }
.budget-recovery-dialog header,.budget-start-dialog header { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:12px; }
.budget-recovery-dialog h2,.budget-start-dialog h2 { font-size:23px; line-height:1.25; letter-spacing:-.4px; font-weight:650; }
.budget-recovery-dialog :is(h2,h3,button),.budget-start-dialog :is(h2,h3,button) { font-family:inherit; }
.budget-recovery-dialog h3,.budget-start-dialog h3 { font-size:17px; margin:18px 0 8px; }
.budget-recovery-dialog p,.budget-start-dialog p { line-height:1.6; font-size:14px; margin:10px 0; }
.budget-recovery-dialog button,.budget-start-dialog button { min-height:44px; white-space:normal; }
.budget-recovery-dialog footer,.budget-start-dialog footer { display:flex; flex-wrap:wrap; gap:10px; margin-top:20px; }
.budget-recovery-dialog footer button,.budget-start-dialog footer button { flex:1 1 150px; }
.recovery-copies { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:18px 0; }
.recovery-copies section { padding:12px 16px; background:var(--surface-card); border:1px solid var(--border); border-radius:12px; }
.recovery-copies h3 { margin:0 0 6px; }
.recovery-copies p { color:var(--text-secondary); font-size:12px; }
.recovery-table { width:100%; border-collapse:collapse; font-size:13px; font-variant-numeric:tabular-nums; }
.recovery-table th,.recovery-table td { text-align:right; border-bottom:1px solid var(--border); padding:10px 6px; }
.recovery-table th:first-child { text-align:left; max-width:150px; overflow-wrap:anywhere; }
.budget-recovery-dialog summary,.budget-start-dialog summary { min-height:44px; cursor:pointer; padding:12px 0; font-size:14px; }
.recovery-entry { padding:0 10px; border-bottom:1px solid var(--border); }
.recovery-entry small { display:block; color:var(--text-secondary); margin-top:4px; font-size:12px; }
.start-alert { padding:12px 14px; border-left:3px solid var(--status-warning); background:var(--status-warning-muted); border-radius:6px; }
.start-eyebrow { letter-spacing:1.6px; font-size:10px!important; font-weight:600; color:var(--text-secondary); }
.start-choices { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin:18px 0; }
.start-choices button { border:1px solid var(--border-strong); border-radius:14px; padding:18px; text-align:left; background:var(--surface-card); color:var(--text-primary); font:inherit; cursor:pointer; }
.start-choices .selected { border:2px solid var(--accent-primary); background:var(--accent-muted); }
.start-choices strong,.start-choices span { display:block; line-height:1.5; }
.start-choices span { font-size:13px; color:var(--text-secondary); margin-top:6px; }
.start-note { color:var(--text-secondary); font-size:12px!important; }
.budget-start-dialog progress { width:100%; height:6px; margin:8px 0 14px; accent-color:var(--accent-primary); }
.budget-start-dialog label { display:block; font-size:14px; line-height:1.5; margin:12px 0; }
.budget-start-dialog input:not([type=checkbox]),.budget-start-dialog select { width:100%; display:block; min-height:46px; border:1px solid var(--border-strong); border-radius:9px; padding:10px 12px; margin-top:6px; background:var(--surface-input); color:var(--text-primary); font:inherit; font-size:16px; }
.budget-start-dialog .start-checkbox { display:flex; gap:10px; align-items:center; min-height:44px; }
.start-checkbox input { width:20px; height:20px; flex-shrink:0; }
.start-row { display:grid; grid-template-columns:1fr 1fr auto; gap:12px; align-items:end; border-bottom:1px solid var(--border); padding:5px 0 14px; }
.start-row label { min-width:0; }
.start-row button { margin-bottom:12px; }
.start-bill { padding:12px 16px; border:1px solid var(--border); border-radius:12px; margin:12px 0; }
.start-live,.start-review>div { display:flex; justify-content:space-between; gap:16px; padding:12px 0; font-variant-numeric:tabular-nums; }
.start-live { margin-top:18px; padding:14px 16px; background:var(--accent-muted); border:1px solid var(--border); border-radius:10px; }
.start-review>div { border-bottom:1px solid var(--border); }
.start-error { color:var(--status-danger); }
.start-refill { display:grid; grid-template-columns:1fr 1fr; gap:14px; align-items:center; }
.acct-truth-compact { padding:5px 2px; font-size:12px; line-height:1.5; color:var(--text-secondary); }
.acct-truth-compact small { display:block; font-size:11px; opacity:.85; }
.budget-sync-notice.is-deferred { width:auto; max-width:calc(100vw - 32px); left:auto; right:16px; padding:4px; }
@media(max-width:540px){.budget-recovery-dialog,.budget-start-dialog{padding:18px 14px}.budget-start-dialog header{align-items:flex-start}.budget-start-dialog header>button{max-width:112px}.start-choices{grid-template-columns:1fr}.start-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.start-row button{grid-column:1/-1;justify-self:start;margin:0}.recovery-table{font-size:12px}.recovery-copies{gap:8px}.recovery-copies section{padding:10px}.recovery-copies h3{font-size:15px}}
