.settlement-dialog { box-sizing:border-box; width:min(940px,calc(100vw - 24px)); max-width:none; max-height:calc(100dvh - 24px); padding:0; border:0; border-radius:14px; color:var(--text); background:var(--panel); overflow-wrap:anywhere; }
.settlement-dialog *, .settlement-dialog *::before, .settlement-dialog *::after { box-sizing:border-box; }
.settlement-dialog > header { padding:18px 20px 12px; display:flex; gap:16px; align-items:flex-start; justify-content:space-between; border-bottom:1px solid var(--line); }
.settlement-dialog header h2 { margin:0 0 8px; font-size:1.2rem; }
.settlement-dialog header p { margin:0; color:var(--muted); }
.settlement-dialog > header > div { min-width:0; }
.settlement-dialog > header > .btn { flex:0 0 auto; white-space:nowrap; }
.settlement-dialog > .settlement-content { padding:16px 20px 22px; }
.settlement-dialog [role="status"], .settlement-dialog [role="alert"] { margin:0 0 12px; }
.settlement-dialog .settlement-tools, .settlement-dialog .settlement-tabs { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:14px; }
.settlement-dialog fieldset { min-width:0; margin:0; padding:0; border:0; }
.settlement-dialog .settlement-tabs button[aria-pressed="true"] { background:var(--accent,#165f4e); color:#fff; }
.settlement-dialog .settlement-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.settlement-dialog label { display:flex; flex-direction:column; gap:6px; font-size:14px; }
.settlement-dialog input:not([type="checkbox"]), .settlement-dialog select, .settlement-dialog textarea { min-width:0; width:100%; max-width:100%; min-height:44px; padding:9px 10px; border:1px solid var(--line); border-radius:7px; background:var(--panel); color:var(--text); font:inherit; }
.settlement-dialog textarea { min-height:80px; resize:vertical; }
.settlement-dialog .settlement-check { display:flex; flex-direction:row; align-items:flex-start; gap:10px; margin:12px 0; line-height:1.45; }
.settlement-dialog input[type="checkbox"] { flex:0 0 20px; width:20px; height:20px; margin:1px 0 0; }
.settlement-dialog .settlement-card { padding:14px; margin:0 0 12px; border:1px solid var(--line); border-radius:9px; }
.settlement-dialog .settlement-card h3, .settlement-dialog .settlement-card h4 { margin:0 0 10px; }
.settlement-dialog .settlement-card p { margin:6px 0; }
.settlement-dialog .settlement-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-bottom:14px; }
.settlement-dialog .settlement-summary span { display:block; color:var(--muted); font-size:13px; margin-bottom:5px; }
.settlement-dialog .settlement-summary strong { font-size:1rem; }
.settlement-dialog .settlement-meta { font-size:13px; color:var(--muted); }
.settlement-dialog .settlement-full { grid-column:1 / -1; }
.settlement-dialog .btn { min-height:44px; white-space:normal; }
.settlement-dialog [hidden] { display:none !important; }
#serviceReceiptDialog { padding:16px; }
#serviceReceiptDialog > p { margin:12px 0; }
#serviceReceiptDialog .actions { margin:12px 0; display:flex; flex-wrap:wrap; gap:8px; }
#serviceReceiptDialog label { margin:12px 0; }
@media(max-width:640px) {
  .settlement-dialog > header { padding:16px 14px 12px; gap:10px; }
  .settlement-dialog > .settlement-content { padding:14px; }
  .settlement-dialog .settlement-grid, .settlement-dialog .settlement-summary { grid-template-columns:1fr; }
  .settlement-dialog input:not([type="checkbox"]), .settlement-dialog select, .settlement-dialog textarea { font-size:16px; }
  .settlement-dialog .settlement-tabs > button { flex:1 1 110px; }
}
