/**
 * Shared mobile / PWA app chrome for RSC topnav.
 * Goal: phone-first header with 44px touch targets, not a squished desktop bar.
 */
.rsc-app-topnav {
    padding-top: max(0.55rem, env(safe-area-inset-top, 0px)) !important;
}

@media (max-width: 991.98px) {
    .rsc-app-topnav {
        --rsc-mobile-tap: 44px;
        min-height: calc(var(--rsc-mobile-tap) + 0.75rem + env(safe-area-inset-top, 0px));
    }

    .rsc-app-topnav.tenant-public-nav {
        padding-top: max(0.55rem, env(safe-area-inset-top, 0px)) !important;
        padding-bottom: 0.55rem !important;
    }

    .rsc-app-topnav .admin-nav-top,
    .rsc-app-topnav .ta-nav-top,
    .rsc-app-topnav .tenant-nav-top {
        align-items: center !important;
        gap: 0.4rem !important;
        min-width: 0;
    }

    .rsc-app-topnav .admin-nav-actions,
    .rsc-app-topnav .ta-nav-actions,
    .rsc-app-topnav .tenant-nav-actions {
        display: flex !important;
        align-items: center;
        justify-content: flex-end;
        flex-wrap: nowrap !important;
        gap: 0.2rem !important;
        margin-left: auto;
        min-width: 0;
        flex-shrink: 0;
    }

    /* Brand: keep mark, truncate long titles */
    .rsc-app-topnav .navbar-brand {
        min-width: 0;
        max-width: min(52vw, 14rem);
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap !important;
        font-size: 1.05rem !important;
        margin-right: 0.25rem !important;
        padding-right: 0 !important;
    }
    .rsc-app-topnav .rsc-nav-brand-title {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        min-width: 0;
    }
    .rsc-app-topnav .navbar-brand small,
    .rsc-app-topnav .navbar-brand .rsc-nav-brand-sub {
        display: none !important;
    }
    /* Tenant public: hide username next to avatar on phone */
    .rsc-app-topnav .rsc-nav-username-label {
        display: none !important;
    }
    .rsc-app-topnav .rsc-text-logo-mark {
        min-width: 48px !important;
        width: 48px;
        height: 40px !important;
        font-size: 0.95rem !important;
    }
    .rsc-app-topnav .navbar-brand img {
        max-height: 40px !important;
    }

    /* Hide desktop user/role labels; avatar stays */
    .rsc-app-topnav .rsc-nav-user-meta {
        display: none !important;
    }

    /* View Site -> icon only */
    .rsc-app-topnav .rsc-nav-view-site-label,
    .rsc-app-topnav .rsc-view-site-label {
        display: none !important;
    }
    .rsc-app-topnav .rsc-nav-view-site {
        width: var(--rsc-mobile-tap);
        height: var(--rsc-mobile-tap);
        padding: 0 !important;
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        border-radius: 10px;
    }
    .rsc-app-topnav .rsc-nav-view-site i {
        margin: 0 !important;
    }

    .rsc-app-topnav .tenant-nav-shell,
    .rsc-app-topnav .ta-nav-shell,
    .rsc-app-topnav .admin-nav-shell {
        padding-left: max(0.75rem, env(safe-area-inset-left, 0px));
        padding-right: max(0.75rem, env(safe-area-inset-right, 0px));
    }

    /* Larger tap targets for trays + toggler */
    .rsc-app-topnav .navbar-toggler {
        width: var(--rsc-mobile-tap);
        height: var(--rsc-mobile-tap);
        padding: 0;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border-radius: 10px;
        border-width: 1px;
    }

    .rsc-app-topnav .rsc-ticket-bell-icon-wrap,
    .rsc-app-topnav .rsc-notes-nav-toggle {
        width: var(--rsc-mobile-tap) !important;
        height: var(--rsc-mobile-tap) !important;
        font-size: 1.2rem !important;
        border-radius: 12px !important;
    }

    .rsc-app-topnav .rsc-admin-avatar,
    .rsc-app-topnav .rsc-nav-avatar.lg {
        width: 40px !important;
        height: 40px !important;
        font-size: 0.9rem !important;
    }

    .rsc-app-topnav .rsc-nav-clock {
        display: none !important;
    }

    .rsc-app-topnav .rsc-notes-nav-cluster {
        gap: 0.15rem;
    }

    /* Collapsed link drawer: full-width, comfortable rows */
    .rsc-app-topnav .admin-nav-links,
    .rsc-app-topnav .ta-nav-links,
    .rsc-app-topnav .tenant-nav-links {
        margin-top: 0.55rem !important;
        padding-top: 0.35rem !important;
        padding-bottom: max(0.65rem, env(safe-area-inset-bottom, 0px));
    }
    .rsc-app-topnav .admin-nav-links .nav-link,
    .rsc-app-topnav .ta-nav-links .nav-link,
    .rsc-app-topnav .tenant-nav-links .nav-link {
        min-height: 44px;
        display: flex !important;
        align-items: center;
        font-size: 1.05rem !important;
        padding: 0.65rem 0.85rem !important;
    }
}

/* Installed PWA: always use the mobile chrome density even on wide phones in landscape */
@media (display-mode: standalone), (display-mode: fullscreen), (display-mode: minimal-ui) {
    @media (max-width: 1199.98px) {
        .rsc-app-topnav .rsc-nav-user-meta {
            display: none !important;
        }
        .rsc-app-topnav .rsc-nav-view-site-label,
        .rsc-app-topnav .rsc-view-site-label {
            display: none !important;
        }
        .rsc-app-topnav .rsc-nav-username-label {
            display: none !important;
        }
        .rsc-app-topnav .navbar-brand small,
        .rsc-app-topnav .navbar-brand .rsc-nav-brand-sub {
            display: none !important;
        }
    }
}
