.bd-dialog { --bd-bg:var(--surface,#fff); --bd-line:var(--line,#dce3ed); --bd-ink:var(--ink,#172438); --bd-muted:var(--ink2,#596b80); width:min(960px,calc(100vw - 32px)); max-height:calc(100dvh - 32px); padding:0; border:1px solid var(--bd-line); border-radius:12px; background:var(--bd-bg); color:var(--bd-ink); box-shadow:0 20px 70px #0004; }
.bd-dialog::backdrop { background:#0b182780; }
.bd-dialog[open], .bd-dialog form { display:flex; flex-direction:column; min-height:0; overflow:hidden; }
.bd-dialog form { max-height:calc(100dvh - 34px); width:100%; margin:0; }
.bd-dialog [hidden] { display:none!important; }
.bd-dialog * { box-sizing:border-box; }
.bd-dialog header { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:20px 24px; border-bottom:1px solid var(--bd-line); flex-shrink:0; }
.bd-dialog h2 { margin:4px 0 0; font-size:23px; color:var(--bd-ink); }
.bd-dialog h3 { font-size:15px; margin:16px 0 10px; color:var(--bd-ink); }
.bd-dialog small { font-size:12px; color:var(--bd-muted); line-height:1.5; }
.bd-dialog header>button { min-width:40px; height:40px; font-size:24px; }
.bd-dialog button { border:1px solid var(--bd-line); border-radius:6px; background:var(--bd-bg); color:var(--bd-ink); padding:10px 16px; font:inherit; font-size:13px; min-height:40px; cursor:pointer; }
.bd-dialog button.bd-primary { background:#286be0; color:#fff; border-color:#286be0; }
.bd-dialog .bd-body { overflow:auto; min-height:0; padding:20px 24px; }
.bd-dialog .bd-note { padding:12px 16px; border-left:3px solid #397be6; background:var(--surface2,#f4f7fb); font-size:13px; line-height:1.6; }
.bd-dialog .bd-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 20px; }
.bd-dialog label { display:flex; flex-direction:column; gap:7px; font-size:13px; font-weight:600; min-width:0; color:var(--bd-ink); }
.bd-dialog .bd-fields>label { min-height:92px; }
.bd-dialog input:not([type=checkbox]), .bd-dialog select, .bd-dialog textarea { font:inherit; font-weight:400; font-size:14px; width:100%; max-width:100%; min-width:0; padding:10px 12px; border:1px solid var(--bd-line); border-radius:6px; background:var(--bd-bg); color:var(--bd-ink); box-shadow:none; }
.bd-dialog textarea { min-height:70px; resize:vertical; }
.bd-dialog .bd-wide { grid-column:1/-1; }
.bd-dialog .bd-payments { border:1px solid var(--bd-line); border-radius:8px; max-height:320px; overflow:auto; margin-bottom:20px; }
.bd-dialog .bd-payments>p { padding:12px; font-size:13px; color:var(--bd-muted); }
.bd-dialog label.bd-payment { display:grid; grid-template-columns:20px minmax(0,1fr) auto; gap:12px; align-items:center; padding:14px; border-bottom:1px solid var(--bd-line); font-weight:400; }
.bd-dialog .bd-payment:last-child { border-bottom:0; }
.bd-dialog .bd-payment input { width:18px; height:18px; margin:0; accent-color:#286be0; }
.bd-dialog .bd-payment strong, .bd-dialog .bd-payment small { display:block; overflow-wrap:anywhere; }
.bd-dialog .bd-payment b { font-variant-numeric:tabular-nums; white-space:nowrap; }
.bd-dialog .bd-total { padding:14px; background:var(--surface2,#f4f7fb); font-weight:600; font-size:14px; line-height:1.7; }
.bd-dialog [data-bd-error] { color:var(--danger,#bf3942); font-size:13px; line-height:1.5; }
.bd-dialog footer { padding:16px 24px; border-top:1px solid var(--bd-line); display:flex; justify-content:flex-end; gap:10px; background:var(--bd-bg); flex-shrink:0; }
.bd-dialog :focus-visible { outline:2px solid #4688f5; outline-offset:2px; }
html[data-theme=dark] .bd-dialog input, html[data-theme=dark] .bd-dialog select, html[data-theme=dark] .bd-dialog textarea { background:var(--bd-bg)!important; color:var(--bd-ink)!important; border-color:var(--bd-line)!important; color-scheme:dark; }
@media(max-width:640px) {
  .bd-dialog { width:calc(100vw - 16px); max-height:calc(100dvh - 16px); }
  .bd-dialog form { max-height:calc(100dvh - 18px); }
  .bd-dialog header,.bd-dialog footer,.bd-dialog .bd-body { padding:16px; }
  .bd-dialog h2 { font-size:20px; }
  .bd-dialog .bd-fields { grid-template-columns:minmax(0,1fr); gap:10px; }
  .bd-dialog label.bd-payment { grid-template-columns:20px minmax(0,1fr); }
  .bd-dialog .bd-payment b { grid-column:2; }
  .bd-dialog input:not([type=checkbox]),.bd-dialog select,.bd-dialog textarea { font-size:16px; }
}
