/* NextWork modal geometry – reference: approved application popup, 03/11/2026.
   Shared OPT-IN layout contract. Keep component-specific content, grid, scroll,
   palette and business logic in the component; do not move them here. */
:root {
    /* Desktop: 12px on all four sides of the first/last content frame. */
    --nw-popup-viewport-gutter: var(--nw-space-3);
    --nw-popup-content-inset: var(--nw-space-3);
    --nw-popup-panel-gap: var(--nw-space-3);
    --nw-popup-footer-inset: var(--nw-space-3);
    /* Compact view keeps the existing 4px viewport / 8px inner spacing. */
    --nw-popup-viewport-gutter-compact: var(--nw-space-1);
    --nw-popup-content-inset-compact: var(--nw-space-2);
    --nw-popup-panel-gap-compact: var(--nw-space-2);
    /* Shared application-sized frame; individual components choose rows. */
    --nw-popup-frame-max-width: 1480px;
    --nw-popup-frame-viewport-width: 98vw;
    --nw-popup-frame-max-height: 900px;
    --nw-popup-frame-viewport-height: 96vh;
}
.nw-popup-backdrop {
    box-sizing: border-box;
    padding: var(--nw-popup-viewport-gutter);
}
.nw-popup-shell {
    box-sizing: border-box;
    min-width: 0;
}
.nw-popup-canvas {
    box-sizing: border-box;
    min-width: 0;
    min-height: 0;
    padding: var(--nw-popup-content-inset);
    gap: var(--nw-popup-panel-gap);
}
.nw-popup-panel {
    box-sizing: border-box;
    min-width: 0;
    max-width: 100%;
}
.nw-popup-panel-row {
    min-width: 0;
    gap: var(--nw-popup-panel-gap);
}
.nw-popup-footer {
    box-sizing: border-box;
    padding: var(--nw-popup-footer-inset);
}
@media (max-width: 760px) {
    .nw-popup-backdrop { padding: var(--nw-popup-viewport-gutter-compact); }
    .nw-popup-canvas {
        padding: var(--nw-popup-content-inset-compact);
        gap: var(--nw-popup-panel-gap-compact);
    }
}
