/* Application-shell primitives are namespaced; plugin-owned page styling remains authoritative. */
.nd-app-nav ul { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; list-style: none; padding: 0; margin: 0; }
.nd-app-nav button, .nd-app-nav a { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: .55rem .85rem; font: inherit; color: inherit; border-radius: .5rem; }
.nd-app-nav button { cursor: pointer; border: 1px solid currentColor; background: transparent; }
.nd-app-nav button:disabled { display: none; }
.nd-app-nav :is(a, button):focus-visible, .nd-app-dialog :is(a, button, input, select, textarea):focus-visible { outline: 3px solid var(--nd-color-primary, #6745c1); outline-offset: 3px; }
.nd-app-dialog { width: min(92vw, 540px); max-height: min(90vh, 820px); overflow: auto; padding: clamp(1.25rem, 4vw, 2rem); border: 1px solid var(--nd-color-border, #dedee5); border-radius: 1rem; color: var(--nd-color-text, #161616); background: var(--nd-color-surface, #fff); box-shadow: 0 25px 80px rgba(0,0,0,.24); }
.nd-app-dialog::backdrop { background: rgba(0,0,0,.58); }
.nd-app-dialog__close { display: grid; place-items: center; width: 44px; height: 44px; margin-inline-start: auto; border: 0; background: transparent; cursor: pointer; font: inherit; font-size: 1.5rem; color: inherit; }
@media(max-width: 782px) { .nd-app-nav ul { justify-content: center; } .nd-app-dialog { width: min(96vw, 540px); } }
