.business-structure-wizard { display:flex; flex-direction:column; gap:.75rem; height:100%; min-height:0; min-width:0; overflow:hidden; }
.business-structure-wizard .dialog-body { overflow-y:auto; flex:1 1 auto; min-height:0; display:flex; flex-direction:column; gap:.85rem; }
.business-structure-wizard .dialog-footer { flex-wrap:wrap; padding-bottom:max(1rem,env(safe-area-inset-bottom)); }
.business-structure-wizard .dialog-footer button { min-height:44px; }
.business-structure-steps { display:flex; flex-wrap:wrap; gap:.5rem; padding:0 1rem; }
.business-structure-steps button { display:flex; align-items:center; gap:.5rem; min-height:44px; padding:.55rem .8rem; border:1px solid var(--rz-base-300,#cbd5e1); border-radius:.65rem; background:var(--rz-base-background-color,#fff); color:var(--rz-text-color,#0f172a); }
.business-structure-steps button.is-active { background:#1e293b; color:#fff; border-color:#1e293b; }
.business-structure-steps button:disabled { opacity:.65; }
.business-structure-profiles { display:grid; grid-template-columns:1fr; gap:.65rem; margin:1rem 0; }
.business-structure-profiles button { display:flex; flex-direction:column; align-items:flex-start; gap:.25rem; text-align:left; min-height:74px; padding:.85rem; border-radius:.75rem; border:1px solid var(--rz-base-300,#cbd5e1); background:var(--rz-base-background-color,#fff); color:var(--rz-text-color,#0f172a); }
.business-structure-profiles button span { font-size:.875rem; }
.business-structure-profiles button.is-active { border:2px solid #1d4ed8; background:#eff6ff; color:#0f172a; }
.business-structure-profiles button:hover:not(:disabled) { border-color:#1e40af; }
.business-structure-profiles button:focus-visible,.business-structure-steps button:focus-visible { outline:3px solid #1d4ed8; outline-offset:3px; }
.business-structure-error { border-color:#be123c; }
.business-structure-error [role=alert] { color:#9f1239; }
.business-structure-notice { color:var(--rz-text-color,#0f172a); border-left:3px solid #15803d; padding:.6rem .8rem; }
.business-structure-overview { min-width:0; padding-top:.75rem; }
.business-structure-modal { max-width:calc(100vw - 1rem); }
@media(min-width:768px) { .business-structure-profiles { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:480px) { .business-structure-wizard .dialog-footer .rz-button { flex:1 1 42%; } .business-structure-wizard .dialog-header { padding:.75rem; } }

/* The modal owns its height; only the body scrolls. Status messages cannot push the footer away. */
.rz-dialog.business-structure-modal { height:calc(100dvh - 2rem); max-height:calc(100dvh - 2rem); display:flex; flex-direction:column; }
.rz-dialog.business-structure-modal > .rz-dialog-content { flex:1 1 auto; min-height:0; overflow:hidden; display:flex; flex-direction:column; }
.business-structure-wizard > .dialog-header,
.business-structure-wizard > .business-structure-steps,
.rz-dialog.business-structure-modal .dialog-footer { flex:0 0 auto; }
.business-structure-summary { display:flex; flex-direction:column; gap:.35rem; white-space:normal; overflow-wrap:anywhere; }
.business-structure-wizard .jans-table-cell { white-space:normal; min-width:0; }
@media(max-width:480px) {
    .rz-dialog.business-structure-modal { height:calc(100dvh - 1rem); max-height:calc(100dvh - 1rem); }
    .rz-dialog.business-structure-modal .dialog-footer { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:.5rem; margin-top:0; padding-top:.5rem; padding-bottom:env(safe-area-inset-bottom); }
    .rz-dialog.business-structure-modal .dialog-footer > .rz-button { width:100%; min-width:0; padding:.5rem; white-space:normal; }
    .rz-dialog.business-structure-modal .dialog-footer .rz-button-text { white-space:normal; }
    .rz-dialog.business-structure-modal .dialog-header { margin-bottom:0; padding:0; }
    .business-structure-steps { padding:0; gap:.25rem; }
    .business-structure-steps button { padding:.4rem .5rem; gap:.25rem; }
}

/* UC04 S1: bounded SVG workspace; form/table remain usable at 320px. */
.structure-layout { display:flex; flex-direction:column; gap:1rem; min-width:0; max-width:100%; }
.structure-layout-scroll { overflow:auto; max-width:100%; max-height:55dvh; border:1px solid #64748b; border-radius:8px; }
.structure-layout-svg { display:block; max-width:none; background:#f7f8fc; }
.structure-layout-svg rect { fill:#fff; stroke:#475569; stroke-width:2; }
.structure-layout-svg text { fill:#0f172a; font-size:14px; pointer-events:none; }
.structure-layout-svg g:focus rect { stroke:#1d4ed8; stroke-width:4; }
.structure-layout-navigation { display:flex; flex-wrap:wrap; gap:.5rem; }
.structure-layout-navigation button { min-height:44px; overflow-wrap:anywhere; }
@media(max-width:767px) { .structure-layout .connected-row { flex-direction:column; } .structure-layout .dialog-footer { flex-wrap:wrap; } }
