.oblio-fx-dialog { width: min(760px, calc(100% - 24px)); max-height: 90vh; max-height: 90dvh; overflow: auto; border: 1px solid #cbd5e1; border-radius: 14px; padding: 24px; color: #172033; background: #fff; }
.oblio-fx-dialog::backdrop { background: rgb(15 23 42 / 55%); }
.oblio-fx-dialog fieldset { min-width: 0; margin: 18px 0; padding: 16px; border: 1px solid #cbd5e1; border-radius: 10px; }
.oblio-fx-dialog legend { font-weight: 700; overflow-wrap: anywhere; }
.oblio-fx-dialog p { overflow-wrap: anywhere; }
.oblio-fx-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.oblio-fx-grid label { display: grid; gap: 6px; min-width: 0; }
.oblio-fx-dialog [hidden] { display: none !important; }
.oblio-fx-grid input, .oblio-fx-grid select { width: 100%; min-width: 0; box-sizing: border-box; min-height: 44px; font: inherit; font-size: 16px; padding: 8px; border: 1px solid #94a3b8; border-radius: 6px; }
.oblio-fx-dialog .oblio-fx-confirm { display: flex; align-items: flex-start; gap: 10px; }
.oblio-fx-dialog .oblio-fx-confirm input { flex: 0 0 auto; width: 20px; height: 20px; margin-top: 2px; }
.oblio-fx-preview { padding: 12px; background: #eff6ff; border-radius: 8px; }
.oblio-fx-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 12px; padding-top: 14px; }
.oblio-fx-actions button { min-height: 44px; padding: 10px 14px; border-radius: 8px; cursor: pointer; }
.oblio-fx-error { color: #b91c1c; }
@media (max-width: 540px) { .oblio-fx-dialog { padding: 14px; } .oblio-fx-grid { grid-template-columns: 1fr; } .oblio-fx-dialog fieldset { padding: 10px; } }
