/* Shared RN Product overlay geometry. Drawers and navigation keep their own layout. */
.rv-native-workspace { --rv-dialog-gutter:var(--rn-space-4); --rv-dialog-padding:var(--rn-space-5); }
.rv-native-workspace dialog.rn-dialog:not(.rv-resolution):not(.rv-mobile-navigation):not(.rv-account-menu),.rv-native-workspace dialog.rv-shipping-dialog {
  max-width:calc(100% - 2 * var(--rv-dialog-gutter));
  max-height:calc(100dvh - 2 * var(--rv-dialog-gutter) - env(safe-area-inset-top) - env(safe-area-inset-bottom));
  margin:auto;
  overscroll-behavior:contain;
  scroll-padding-block:var(--rv-dialog-padding);
}
/* Plain form/confirmation dialogs scroll as one padded surface. */
.rv-native-workspace dialog.rn-dialog:not(.rv-resolution):not(.rv-mobile-navigation):not(.rv-account-menu):not(.rv-quality-dialog):not(.rv-task-dialog),.rv-native-workspace dialog.rv-shipping-dialog {
  padding:var(--rv-dialog-padding);
  padding-bottom:max(var(--rv-dialog-padding),env(safe-area-inset-bottom));
}
/* Task details have a stationary close control and a separately scrolling body. */
.rv-native-workspace dialog.rv-task-dialog { padding:0; overflow:hidden; }
.rv-native-workspace dialog.rv-task-dialog[open] { display:flex; flex-direction:column; }
.rv-native-workspace dialog.rv-task-dialog .rv-task-dialog-bar { position:static; flex:none; }
.rv-native-workspace dialog.rv-task-dialog [data-task-dialog-content] {
  min-height:0;
  overflow:auto;
  overscroll-behavior:contain;
  scroll-padding-block:var(--rv-dialog-padding);
  padding:var(--rv-dialog-padding);
  padding-bottom:max(var(--rv-dialog-padding),env(safe-area-inset-bottom));
}
.rv-native-workspace dialog.rv-task-dialog .rv-task-dialog-bar button { min-width:var(--rn-target-min); min-height:var(--rn-target-min); }
/* Anchored account menu already pads each section: retain one bottom safe area. */
.rv-native-workspace dialog.rv-account-menu { padding:0; padding-bottom:env(safe-area-inset-bottom); }
.rv-native-workspace dialog.rv-account-menu .rv-account-exit { padding:var(--rv-dialog-padding); }
.rv-native-workspace dialog.rv-resolution .rv-resolution-footer { padding-bottom:max(var(--rn-space-3),env(safe-area-inset-bottom)); }
.rv-native-workspace dialog.rv-resolution .rv-main { min-height:0; height:auto; margin:0; padding:var(--rv-dialog-padding); padding-bottom:max(var(--rv-dialog-padding),env(safe-area-inset-bottom)); }
.rv-native-workspace .rv-task-workspace .rv-kanban-create[data-enhanced][open] {
  max-width:calc(100% - 2 * var(--rv-dialog-gutter));
  max-height:calc(100dvh - 2 * var(--rn-space-4));
  padding-bottom:max(var(--rv-dialog-padding),env(safe-area-inset-bottom));
  scroll-padding-block:var(--rv-dialog-padding);
}
@media(max-width:599px) {
  .rv-native-workspace { --rv-dialog-gutter:var(--rn-space-3); --rv-dialog-padding:var(--rn-space-4); }
}
