#budgetDialog { width:min(790px,calc(100vw - 24px)); max-height:92vh; }
#budgetDialog .form-fields,#budgetDialog .dialog-actions { display:none; }
.wizard { display:grid; gap:18px; }
.wizard-progress { display:grid; grid-template-columns:repeat(5,1fr); gap:7px; }
.wizard-progress span { height:6px; border-radius:12px; background:#e5eaf3; }
.wizard-progress span.active { background:#3165e8; }
.wizard-heading { display:flex; justify-content:space-between; align-items:center; gap:12px; }
.wizard-heading h3 { margin:0; font-size:19px; }
.wizard-heading small { color:#67758b; }
.wizard-panel { display:grid; gap:15px; min-height:220px; }
.wizard-panel label { display:grid; gap:6px; font-weight:600; font-size:13px; color:#35415a; }
.wizard-panel input,.wizard-panel select,.wizard-panel textarea { box-sizing:border-box; width:100%; padding:11px 12px; background:#fff; border:1px solid #d6dce8; border-radius:10px; color:#1d2b43; font:inherit; }
.wizard-panel input:focus,.wizard-panel select:focus,.wizard-panel textarea:focus { outline:2px solid #93b3ff; outline-offset:1px; }
.wizard-two { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.wizard-three { display:grid; grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr) auto; gap:8px; align-items:end; }
.wizard-lines { display:grid; gap:10px; }
.wizard-line { border:1px solid #e5eaf2; padding:10px; border-radius:12px; background:#f8faff; }
.wizard-muted { color:#66748c; font-size:13px; margin:0; }
.wizard-warning { padding:12px; border-radius:10px; background:#eef4ff; color:#38527c; font-size:13px; }
.wizard-actions { display:flex; justify-content:space-between; align-items:center; border-top:1px solid #e5eaf2; padding-top:17px; gap:8px; }
.wizard-actions .right { display:flex; gap:8px; }
.wizard-review { border:1px solid #e5eaf2; padding:16px; border-radius:14px; display:grid; gap:12px; }
.wizard-review div { display:flex; justify-content:space-between; gap:16px; border-bottom:1px solid #edf0f6; padding-bottom:8px; }
.wizard-review strong { text-align:right; }
.wizard-review .grand { font-size:20px; border:0; color:#1e55cb; }
.wizard-error { color:#b42318; font-size:13px; min-height:15px; }
@media(max-width:620px) { .wizard-two,.wizard-three { grid-template-columns:1fr; } .wizard-actions { flex-wrap:wrap; } }
.print-table td:not(:first-child),.print-table th:not(:first-child) { text-align:right; white-space:nowrap; }
.pdf-breakdown { text-align:right; font-size:12px; color:#53617b; margin:12px 0; white-space:pre-wrap; overflow-wrap:anywhere; }
.pdf-breakdown p { margin:4px 0; }
