/* Isolated dashboard navigation. No shared form/button classes. */
.nova-topbar,
.nova-topbar * { box-sizing: border-box; }

.nova-topbar {
    position: sticky;
    top: 0;
    z-index: 50;
    width: 100%;
    padding: 14px 16px 0;
    background: linear-gradient(180deg, rgba(246,250,255,.96) 0%, rgba(246,250,255,.72) 72%, transparent 100%);
}

.nova-topbar__surface {
    position: relative;
    display: grid;
    grid-template-columns: minmax(160px, 210px) minmax(280px, 1fr) auto;
    align-items: center;
    gap: 18px;
    min-height: 72px;
    overflow: visible;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 22px;
    background:
        radial-gradient(circle at 22% -80%, rgba(56,189,248,.24), transparent 43%),
        linear-gradient(115deg, #07182d 0%, #0a2644 47%, #0b3554 100%);
    padding: 10px 12px;
    box-shadow: 0 18px 42px rgba(2,20,40,.18), inset 0 1px 0 rgba(255,255,255,.1);
}

.nova-topbar__surface::after {
    position: absolute;
    right: 24%;
    bottom: 0;
    left: 24%;
    height: 1px;
    content: "";
    background: linear-gradient(90deg, transparent, rgba(56,189,248,.7), transparent);
}

.nova-topbar__brand {
    display: inline-flex;
    align-items: center;
    min-width: 0;
    gap: 11px;
    border-radius: 15px;
    color: #fff;
    padding: 6px;
    text-decoration: none;
}

.nova-topbar__logo {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 14px;
    background: linear-gradient(145deg, rgba(255,255,255,.16), rgba(255,255,255,.05));
    color: #67e8f9;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.12);
}

.nova-topbar__logo img {
    width: 25px;
    height: 25px;
    object-fit: contain;
}
.nova-topbar__brand-copy { display: flex; min-width: 0; flex-direction: column; }
.nova-topbar__brand-copy strong { overflow: hidden; color: #fff; font-size: 14px; font-weight: 720; letter-spacing: -.025em; line-height: 1.1; text-overflow: ellipsis; white-space: nowrap; }
.nova-topbar__brand-copy small { margin-top: 3px; color: #8fb4d1; font-size: 10px; font-weight: 700; letter-spacing: .12em; line-height: 1; text-transform: uppercase; }

.nova-search {
    display: grid;
    grid-template-columns: auto minmax(0,1fr) auto auto;
    align-items: center;
    gap: 10px;
    width: min(100%, 680px);
    height: 46px;
    justify-self: center;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 15px;
    background: rgba(255,255,255,.09);
    padding: 4px 5px 4px 14px;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
    backdrop-filter: blur(12px);
    transition: background .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.nova-search:focus-within { border-color: rgba(103,232,249,.55); background: rgba(255,255,255,.14); box-shadow: 0 0 0 3px rgba(34,211,238,.1), inset 0 1px 0 rgba(255,255,255,.1); }
.nova-search__icon { display: inline-flex; width: 18px; height: 18px; color: #7dd3fc; }
.nova-search__icon svg, .nova-search__submit svg { width: 100%; height: 100%; }

body.vortex-bg-active .nova-search input.nova-search__input[type="text"],
.nova-search__input {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: 36px !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #f8fafc !important;
    font-family: inherit !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    padding: 0 !important;
}

body.vortex-bg-active .nova-search input.nova-search__input[type="text"]:focus,
body.vortex-bg-active .nova-search input.nova-search__input[type="text"]:hover { border: 0 !important; outline: 0 !important; background: transparent !important; box-shadow: none !important; }
.nova-search__input::placeholder { color: #8da9c1 !important; opacity: 1; }
.nova-search__hint { border: 1px solid rgba(255,255,255,.13); border-radius: 7px; background: rgba(255,255,255,.07); color: #98b7ce; font-family: inherit; font-size: 10px; font-weight: 650; padding: 4px 7px; white-space: nowrap; }

body.vortex-bg-active .nova-search button.nova-search__submit[type="submit"],
.nova-search__submit {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    min-height: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 11px !important;
    background: linear-gradient(135deg,#22d3ee,#38bdf8) !important;
    color: #06233a !important;
    padding: 10px !important;
    box-shadow: 0 8px 18px rgba(34,211,238,.22) !important;
    cursor: pointer;
    transition: transform .18s ease, filter .18s ease !important;
}
.nova-search__submit:hover { filter: brightness(1.08); transform: translateY(-1px); }

.nova-topbar__actions { display: inline-flex; align-items: center; justify-content: flex-end; gap: 8px; min-width: 0; }
.nova-action { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; flex: 0 0 42px; border: 1px solid rgba(255,255,255,.12); border-radius: 13px; background: rgba(255,255,255,.07); color: #c7ddef; text-decoration: none; box-shadow: inset 0 1px 0 rgba(255,255,255,.06); cursor: pointer; transition: background .18s ease, color .18s ease, transform .18s ease; }
.nova-action:hover { background: rgba(255,255,255,.13); color: #fff; transform: translateY(-1px); }
.nova-action svg { width: 19px; height: 19px; }
.nova-action__badge { position: absolute; top: -5px; right: -5px; display: inline-flex; align-items: center; justify-content: center; min-width: 18px; height: 18px; border: 2px solid #0a2644; border-radius: 999px; background: #fb7185; color: #fff; font-size: 9px; font-weight: 800; }
.nova-topbar__divider { width: 1px; height: 28px; margin: 0 2px; background: rgba(255,255,255,.12); }

.nova-profile { display: inline-flex; align-items: center; min-width: 0; max-width: 215px; gap: 9px; border: 1px solid rgba(255,255,255,.12); border-radius: 14px; background: rgba(255,255,255,.07); color: #fff; padding: 4px 8px 4px 4px; text-decoration: none; transition: background .18s ease, transform .18s ease; }
.nova-profile:hover { background: rgba(255,255,255,.13); transform: translateY(-1px); }
.nova-profile__avatar { width: 34px; height: 34px; flex: 0 0 34px; border: 2px solid rgba(255,255,255,.75); border-radius: 11px; object-fit: cover; }
.nova-profile__copy { display: flex; min-width: 0; flex-direction: column; }
.nova-profile__copy strong { max-width: 110px; overflow: hidden; color: #fff; font-size: 11px; font-weight: 700; line-height: 1.15; text-overflow: ellipsis; white-space: nowrap; }
.nova-profile__copy small { margin-top: 2px; color: #8fb4d1; font-size: 8px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.nova-profile__chevron { width: 15px; height: 15px; flex: 0 0 15px; color: #8fb4d1; }
.nova-notifications { position: relative; }
.nova-notifications__panel { position: absolute; top: calc(100% + 12px); right: 0; width: min(350px,calc(100vw - 32px)); overflow: hidden; border: 1px solid rgba(15,23,42,.09); border-radius: 18px; background: rgba(255,255,255,.98); box-shadow: 0 24px 55px rgba(2,20,40,.2); backdrop-filter: blur(18px); }
.nova-notifications__header { display: flex; align-items: center; justify-content: space-between; gap: 12px; border-bottom: 1px solid #e8eef5; padding: 15px 16px; }
.nova-notifications__header small { color: #0284c7; font-size: 9px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.nova-notifications__header h3 { margin: 2px 0 0; color: #0f172a; font-size: 15px; font-weight: 760; }
.nova-notifications__header button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 30px;
    border: 1px solid rgba(0, 132, 255, .12);
    border-radius: 999px;
    background: linear-gradient(135deg, #f7fbff, #eef8ff);
    color: #0057a8;
    font-size: 11px;
    font-weight: 760;
    padding: 0 12px;
    cursor: pointer;
    box-shadow: inset 0 1px 0 #ffffff;
    transition: transform .18s ease, border-color .18s ease, background .18s ease;
}
.nova-notifications__header button:hover {
    border-color: rgba(0, 132, 255, .24);
    background: #ffffff;
    transform: translateY(-1px);
}
.nova-notifications__list { max-height: 360px; overflow-y: auto; }
.nova-notifications__empty { display: grid; place-items: center; gap: 7px; padding: 28px; color: #64748b; text-align: center; }
.nova-notifications__empty span { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; border-radius: 999px; background: #ecfeff; color: #0891b2; font-weight: 800; }
.nova-notifications__empty p { margin: 0; font-size: 12px; }

.nova-topbar a:focus-visible,.nova-topbar button:focus-visible,.nova-topbar input:focus-visible { outline: 2px solid #67e8f9 !important; outline-offset: 3px !important; }

@media (max-width: 1080px) {
    .nova-topbar__surface { grid-template-columns: auto minmax(220px,1fr) auto; gap: 10px; }
    .nova-topbar__brand-copy,.nova-search__hint,.nova-profile__copy,.nova-profile__chevron { display: none; }
    .nova-topbar__identity { width: 48px; }
    .nova-profile { width: 42px; padding: 4px; }
}

@media (max-width: 767px) {
    .nova-topbar { padding: 64px 10px 0; }
    .nova-topbar__surface { grid-template-columns: auto 1fr; gap: 9px; min-height: auto; border-radius: 18px; padding: 9px; }
    .nova-topbar__identity { width: auto; }
    .nova-topbar__brand-copy { display: flex; }
    .nova-search { grid-column: 1 / -1; grid-row: 2; width: 100%; height: 44px; order: 3; }
    .nova-topbar__actions { justify-self: end; }
    .nova-topbar__divider { display: none; }
}

@media (max-width: 430px) {
    .nova-topbar__brand-copy { display: none; }
    .nova-topbar__identity { width: 42px; }
    .nova-search__hint { display: none; }
    .nova-profile { display: none; }
}

/* Website-theme palette: white glass, Vortex blue, cyan accents. */
.nova-topbar__surface {
    border-color: rgba(0, 87, 168, .12);
    background:
        radial-gradient(circle at 18% -100%, rgba(56, 189, 248, .24), transparent 42%),
        radial-gradient(circle at 82% -120%, rgba(16, 185, 129, .13), transparent 38%),
        linear-gradient(135deg, rgba(255, 255, 255, .98), rgba(243, 249, 255, .96));
    box-shadow: 0 18px 42px rgba(0, 87, 168, .10), inset 0 1px 0 rgba(255, 255, 255, .96);
}

.nova-topbar__surface::after {
    background: linear-gradient(90deg, transparent, rgba(0, 132, 255, .45), rgba(16, 185, 129, .28), transparent);
}

.nova-topbar__brand {
    color: #0f172a;
}

.nova-topbar__logo {
    border-color: rgba(0, 87, 168, .13);
    background: linear-gradient(145deg, #0057a8, #0084ff);
    color: #ffffff;
    box-shadow: 0 10px 22px rgba(0, 87, 168, .20), inset 0 1px 0 rgba(255, 255, 255, .25);
}

.nova-topbar__brand-copy strong {
    color: #0f172a;
}

.nova-topbar__brand-copy small {
    color: #0084ff;
}

.nova-search {
    border-color: rgba(0, 87, 168, .12);
    background: rgba(255, 255, 255, .86);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .95), 0 9px 22px rgba(0, 87, 168, .055);
}

.nova-search:focus-within {
    border-color: rgba(0, 132, 255, .42);
    background: #ffffff;
    box-shadow: 0 0 0 3px rgba(0, 132, 255, .09), 0 12px 26px rgba(0, 87, 168, .08);
}

.nova-search__icon {
    color: #0084ff;
}

body.vortex-bg-active .nova-search input.nova-search__input[type="text"],
.nova-search__input {
    color: #0f172a !important;
}

.nova-search__input::placeholder {
    color: #7b8da2 !important;
}

.nova-search__hint {
    border-color: rgba(0, 87, 168, .11);
    background: #edf6ff;
    color: #397094;
}

body.vortex-bg-active .nova-search button.nova-search__submit[type="submit"],
.nova-search__submit {
    background: linear-gradient(135deg, #0057a8, #0084ff) !important;
    color: #ffffff !important;
    box-shadow: 0 9px 18px rgba(0, 132, 255, .20) !important;
}

.nova-action {
    border-color: rgba(0, 87, 168, .11);
    background: rgba(255, 255, 255, .88);
    color: #315b7a;
    box-shadow: 0 9px 20px rgba(0, 87, 168, .055), inset 0 1px 0 #ffffff;
}

.nova-action:hover {
    background: #edf7ff;
    color: #0057a8;
}

.nova-action__badge {
    border-color: #ffffff;
}

.nova-topbar__divider {
    background: rgba(0, 87, 168, .12);
}

.nova-profile {
    border-color: rgba(0, 87, 168, .11);
    background: rgba(255, 255, 255, .88);
    color: #0f172a;
    box-shadow: 0 9px 20px rgba(0, 87, 168, .055), inset 0 1px 0 #ffffff;
}

.nova-profile:hover {
    background: #edf7ff;
}

.nova-profile__avatar {
    border-color: #ffffff;
    box-shadow: 0 0 0 1px rgba(0, 132, 255, .16);
}

.nova-profile__copy strong {
    color: #0f172a;
}

.nova-profile__copy small,
.nova-profile__chevron {
    color: #56809c;
}

.nova-topbar a:focus-visible,
.nova-topbar button:focus-visible,
.nova-topbar input:focus-visible {
    outline-color: rgba(0, 132, 255, .42) !important;
}
