.ui-dlg-backdrop { position:fixed; inset:0; background:var(--overlay-scrim); display:flex; align-items:center; justify-content:center; z-index:var(--z-dialog); padding:var(--sp-4); animation:ui-dlg-fade .15s ease; overflow-y:auto; }
.ui-dlg { background:var(--surface-raised); border-radius:var(--radius-md); box-shadow:var(--elev-3); max-width:480px; width:100%; padding:var(--sp-5) var(--sp-5) var(--sp-4); animation:ui-dlg-pop .15s ease; display:flex; flex-direction:column; max-height:100%; box-sizing:border-box; }

.ui-dlg h3 { margin:0 0 var(--sp-d3); font-size:var(--fs-5); font-weight:600; color:var(--text-primary); line-height:1.4; flex:0 0 auto; }

.ui-dlg-body { flex:1 1 auto; min-height:0; overflow-y:auto; }
.ui-dlg p { margin:0 0 var(--sp-4); font-size:var(--fs-4); color:var(--text-secondary); line-height:1.55; }
.ui-dlg p:last-of-type { margin-bottom:var(--sp-4); }

.ui-dlg-aviso { margin:0 0 var(--sp-d3); padding:var(--sp-d3) var(--sp-3); border-radius:var(--radius-sm); background:var(--fb-warning-bg); color:var(--fb-warning); font-size:var(--fs-4); font-weight:600; }

.ui-dlg-tabla { width:100%; border-collapse:collapse; font-size:var(--fs-3); margin:0 0 var(--sp-d3); }
.ui-dlg-tabla th { text-align:left; font-weight:600; color:var(--text-secondary); text-transform:uppercase; letter-spacing:.03em; font-size:var(--fs-d1); padding:var(--sp-1) var(--sp-2); border-bottom:1px solid var(--border-default); position:sticky; top:0; background:var(--surface-raised); }
.ui-dlg-tabla td { padding:var(--sp-1) var(--sp-2); border-bottom:1px solid var(--border-subtle); color:var(--text-primary); vertical-align:top; }
.ui-dlg-tabla tr:last-child td { border-bottom:0; }
.ui-dlg-input { width:100%; padding:var(--sp-d3) var(--sp-3); border:1px solid var(--border-default); border-radius:var(--radius-sm); font-size:var(--fs-4); box-sizing:border-box; font-family:inherit; margin-bottom:var(--sp-4); }
.ui-dlg-input:focus { outline:2px solid var(--focus-ring); outline-offset:1px; border-color:var(--focus-ring); }
.ui-dlg-input.error { border-color:var(--fb-error); }
.ui-dlg-error { font-size:var(--fs-2); color:var(--fb-error); margin:calc(var(--sp-d4) * -1) 0 var(--sp-d4); display:none; }

.ui-dlg-campo { display:block; margin:0 0 var(--sp-3); }
.ui-dlg-lab { display:block; font-size:var(--fs-2); font-weight:600; color:var(--text-secondary); margin-bottom:var(--sp-1); }
.ui-dlg-lab i { color:var(--fb-error); font-style:normal; }
.ui-dlg-campo .ui-dlg-input { margin-bottom:0; }
.ui-dlg-campo textarea.ui-dlg-input { resize:vertical; min-height:72px; font-family:inherit; }
.ui-dlg-check { display:flex; align-items:flex-start; gap:var(--sp-2); }
.ui-dlg-check .ui-dlg-lab { margin-bottom:0; font-weight:500; color:var(--text-primary); }
.ui-dlg-ayuda { display:block; font-size:var(--fs-2); color:var(--text-muted); margin-top:var(--sp-1); line-height:1.4; }
.ui-dlg-actions { display:flex; gap:var(--sp-d3); justify-content:flex-end; flex-wrap:wrap; flex:0 0 auto; }
.ui-dlg-btn { padding:var(--sp-2) var(--sp-4); border-radius:var(--radius-sm); border:1px solid transparent; font-size:var(--fs-d3); font-weight:500; cursor:pointer; font-family:inherit; }
.ui-dlg-btn.primary { background:var(--surface-inverse); color:var(--text-inverse); }
.ui-dlg-btn.primary:hover { background:var(--surface-inverse-hover); }
.ui-dlg-btn.primary.danger { background:var(--fb-error); }
.ui-dlg-btn.primary.danger:hover { background:var(--fb-error); box-shadow:var(--elev-2); }
.ui-dlg-btn.secondary { background:var(--surface-raised); color:var(--text-primary); border-color:var(--border-default); }
.ui-dlg-btn.secondary:hover { background:var(--surface-sunken); }
@keyframes ui-dlg-fade { from { opacity:0; } to { opacity:1; } }
@keyframes ui-dlg-pop { from { transform:scale(0.96); opacity:0; } to { transform:scale(1); opacity:1; } }
