.nu-app { display: flex; flex-direction: column; }
.nu-app main { flex: 1; min-width: 0; }
.nu-page-constrained > .nu-page-body { width: 100%; max-width: 1200px; margin-inline: auto; }
.nu-page-constrained > .nu-page-header, .nu-page-constrained > .nu-login-hero { padding-inline: max(var(--nu-gutter), calc((100% - 1200px) / 2 + var(--nu-gutter))); }
.nu-skip { position: fixed; z-index: 1100; top: -100px; left: 16px; padding: 10px; background: var(--nu-surface-3); }
.nu-skip:focus { top: 8px; }
.nu-topbar { position: sticky; top: 0; z-index: 1030; height: var(--nu-topbar-h); display: flex; align-items: center; gap: 24px; padding: 0 var(--nu-gutter); background: color-mix(in srgb, var(--nu-bg) 84%, transparent); backdrop-filter: blur(14px); border-bottom: 1px solid var(--nu-line); }
.nu-brand { display: flex; align-items: center; color: var(--nu-text); } .nu-brand svg { height: 26px; width: auto; fill: currentColor; }
.nu-nav { display: flex; align-items: center; gap: 2px; }
.nu-nav-link { display: inline-flex; align-items: center; gap: 4px; height: 34px; padding: 0 12px; border: 0; border-radius: var(--nu-r-pill); background: transparent; color: var(--nu-text-muted); font-weight: 500; white-space: nowrap; }
.nu-app .nu-nav-link { color: var(--nu-text-muted); text-decoration: none; } .nu-app .nu-nav-link:hover, .nu-nav-link.active { background: var(--nu-surface-3); color: var(--nu-text); }
.nu-topbar-end { margin-left: auto; display: flex; align-items: center; gap: 8px; }
.nu-avatar { width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; background: var(--nu-surface-3); color: var(--nu-text); font-weight: 600; }
.nu-page-header { position: relative; z-index: 5; isolation: isolate; display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; padding: 32px var(--nu-gutter) 28px; }
.nu-page-header h1 { margin: 0; font-size: 1.875rem; line-height: 1.15; font-weight: 650; letter-spacing: -.022em; }
.nu-header-art { position: absolute; right: 0; top: 0; height: 100%; width: min(760px, 58%); z-index: -1; mask-image: linear-gradient(to left, #000 35%, transparent 100%); }
.nu-breadcrumb { display: flex; align-items: center; gap: 6px; color: var(--nu-text-muted); margin-bottom: 10px; }
.nu-page-actions, .nu-page-meta { display: flex; gap: 8px; flex-wrap: wrap; } .nu-page-meta { margin-top: 16px; }
.nu-page-body { padding: 0 var(--nu-gutter) 64px; display: grid; gap: 20px; min-width: 0; }
.nu-footer { padding: 0 var(--nu-gutter) 24px; color: var(--nu-text-muted); }
.nu-mode-full-bleed .nu-page-body { padding: 0; min-height: calc(100dvh - var(--nu-topbar-h)); }
.nu-mode-full-bleed main, .nu-mode-full-bleed .nu-page-body { height: calc(100dvh - var(--nu-topbar-h)); }
.nu-grid { display: grid; grid-template-columns: repeat(1, minmax(0,1fr)); gap: 20px; }
@media (min-width: 768px) { .nu-grid { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (min-width: 1200px) { .nu-grid { grid-template-columns: repeat(3, minmax(0,1fr)); } }
@media (min-width: 1920px) { .nu-grid { grid-template-columns: repeat(var(--cols, 4), minmax(0,1fr)); } }
@media (max-width: 1199px) { .nu-nav-desktop { display: none; } }
@media (min-width: 1200px) { .nu-app .nu-topbar .nu-mobile-menu { display: none; } }
@media (max-width: 600px) { .nu-page-header { align-items: flex-start; flex-direction: column; } }
