/* Shared main navigation — used by app and admin */

nav {
    background: var(--surface);
    border-bottom: 1px solid var(--border-strong);
    box-shadow: var(--shadow-sm);
    padding: 0.75rem 1.5rem;
    position: sticky;
    top: 0;
    z-index: 10;
}

nav .nav-inner {
    max-width: 1040px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

nav a,
nav a:link,
nav a:visited {
    color: var(--gray-700);
    text-decoration: none;
    font-weight: 500;
    font-size: 0.95rem;
}

nav a:hover { color: var(--accent); }

nav .nav-inner > a:first-child,
nav .nav-inner > a:first-child:link,
nav .nav-inner > a:first-child:visited {
    font-weight: 700;
    color: var(--gray-900);
}

.nav-links { display: flex; gap: 1.25rem; align-items: center; }

.nav-burger {
    display: none;
    background: none;
    border: none;
    padding: 0.5rem;
    cursor: pointer;
    color: var(--gray-700);
    font-size: 1.5rem;
    line-height: 1;
}

.nav-user {
    color: var(--gray-500);
    font-size: 0.9rem;
}

.nav-link-btn {
    background: none;
    color: var(--gray-700);
    padding: 0;
    border: none;
    font-size: inherit;
    cursor: pointer;
    text-decoration: none;
    font-weight: 500;
    font-family: inherit;
}

.nav-link-btn:hover { color: var(--accent); }

.unread-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.15rem;
    height: 1.15rem;
    padding: 0 0.3rem;
    border-radius: 50%;
    font-size: 0.7rem;
    font-weight: 700;
    background: var(--accent);
    color: #fff;
    flex-shrink: 0;
}

.unread-badge.nav { margin-left: 0.35rem; }

.action-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.15rem;
    height: 1.15rem;
    padding: 0 0.3rem;
    border-radius: 50%;
    font-size: 0.7rem;
    font-weight: 700;
    background: #dc2626;
    color: #fff;
    flex-shrink: 0;
}

.action-badge.nav { margin-left: 0.35rem; }

.info-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.15rem;
    height: 1.15rem;
    padding: 0 0.3rem;
    border-radius: 50%;
    font-size: 0.7rem;
    font-weight: 700;
    background: #dbeafe;
    color: #1d4ed8;
    flex-shrink: 0;
}

.info-badge.nav { margin-left: 0.35rem; }

@media (max-width: 768px) {
    .nav-burger { display: block; }
    .nav-links {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        flex-direction: column;
        background: var(--surface);
        border-bottom: 1px solid var(--border);
        padding: 1rem;
        gap: 0;
    }
    .nav-links.open { display: flex; }
    .nav-links a, .nav-links .nav-user, .nav-links form {
        padding: 0.75rem 0;
        border-bottom: 1px solid var(--gray-100);
    }
}
