@import url("launchpad-ui-tokens.css");

/* Launchpad UI application shell: global command bar and company workspace rail. */
.launchpad-topbar {
    --lp-topbar-height: 68px;
    position: sticky;
    top: 0;
    z-index: 1030;
    min-height: var(--lp-topbar-height);
    padding: 0 1.25rem;
    border: 0 !important;
    border-bottom: 1px solid rgba(148, 163, 184, .18) !important;
    background: #0f172a !important;
    box-shadow: 0 1px 0 rgba(255, 255, 255, .02), 0 8px 28px rgba(2, 6, 23, .12);
    font-family: var(--lp-font);
}

.launchpad-topbar .launchpad-topbar__inner {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 1rem;
    width: 100%;
    min-height: var(--lp-topbar-height);
    padding: 0;
}

.launchpad-topbar__brand {
    display: flex;
    align-items: center;
    flex: 0 0 238px;
    min-width: 0;
}

.launchpad-topbar .launchpad-topbar__logo {
    display: inline-flex;
    align-items: center;
    width: auto;
    max-width: 100%;
    margin: 0;
    padding: .4rem 0;
}

.launchpad-topbar .launchpad-topbar__logo .launch365-logo {
    width: 178px;
    max-width: 100%;
    height: auto;
    --logo-wordmark: #ffffff;
    --logo-tagline: #dbe7ff;
    --logo-cloud-back: #8da8d7;
    --logo-cloud-mid: #b4c8ea;
    --logo-front-start: #ffffff;
    --logo-front-end: #dce8ff;
    --logo-accent-strong: #7fa4ff;
    --logo-accent-dark: #5b8cff;
}

.launchpad-topbar .agency-navbar-logo {
    width: auto;
    max-width: 184px;
    max-height: 48px;
    padding: .35rem .55rem;
    border-radius: var(--lp-radius-control);
    background: #ffffff;
    object-fit: contain;
}

.launchpad-topbar__collapse {
    align-items: center;
    flex: 1 1 auto;
    min-width: 0;
}

.launchpad-topbar__primary {
    flex: 1 1 auto;
    min-width: 0;
}

.launchpad-topbar .header-nav {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: nowrap;
    gap: .2rem;
    width: 100%;
    margin: 0;
    overflow-x: auto;
    scrollbar-width: none;
}

.launchpad-topbar .header-nav::-webkit-scrollbar { display: none; }
.launchpad-topbar .header-nav .nav-item { flex: 0 0 auto; }

.launchpad-topbar .header-nav .nav-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .42rem;
    min-height: 38px;
    padding: .58rem .72rem !important;
    border: 1px solid transparent;
    border-radius: var(--lp-radius-control);
    color: #b8c4d8 !important;
    font-size: .76rem;
    font-weight: var(--lp-weight-semibold);
    line-height: 1;
    white-space: nowrap;
    transition: color var(--lp-motion-fast) var(--lp-motion-ease), background-color var(--lp-motion-fast) var(--lp-motion-ease), border-color var(--lp-motion-fast) var(--lp-motion-ease);
}

.launchpad-topbar .header-nav .nav-link i {
    width: 1rem;
    color: #8ea0bb;
    font-size: .78rem;
    text-align: center;
    transition: color var(--lp-motion-fast) var(--lp-motion-ease);
}

.launchpad-topbar .header-nav .nav-link:hover,
.launchpad-topbar .header-nav .nav-link:focus-visible {
    border-color: rgba(148, 163, 184, .18);
    background: rgba(255, 255, 255, .07) !important;
    color: #ffffff !important;
    text-decoration: none;
    -webkit-text-fill-color: currentColor !important;
}

.launchpad-topbar .header-nav .nav-item.active .nav-link {
    border-color: rgba(91, 140, 255, .34);
    background: rgba(59, 111, 245, .17) !important;
    color: #ffffff !important;
    box-shadow: inset 0 -2px 0 #5b8cff;
    -webkit-text-fill-color: currentColor !important;
}

.launchpad-topbar .header-nav .nav-item.active .nav-link i,
.launchpad-topbar .header-nav .nav-link:hover i { color: #7fa4ff; }

.launchpad-topbar__actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex: 0 0 auto;
    margin-left: .75rem;
    padding-left: .9rem;
    border-left: 1px solid rgba(148, 163, 184, .17);
}

.launchpad-topbar .nav-admin {
    display: flex;
    align-items: center;
    flex-direction: row;
    justify-content: flex-end;
    gap: .35rem;
    margin: 0 !important;
}

.launchpad-topbar .nav-admin > .nav-item > .nav-link,
.launchpad-topbar .nav-admin > .dropdown > .nav-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    padding: 0 !important;
    border: 1px solid rgba(148, 163, 184, .18);
    border-radius: 50%;
    background: rgba(255, 255, 255, .045);
    color: #c5d0e2 !important;
    font-size: .9rem;
}

.launchpad-topbar .nav-admin > .nav-item.active > .nav-link,
.launchpad-topbar .nav-admin > .nav-item > .nav-link:hover,
.launchpad-topbar .nav-admin > .dropdown > .nav-link:hover {
    border-color: rgba(91, 140, 255, .48);
    background: rgba(59, 111, 245, .18) !important;
    color: #ffffff !important;
    text-decoration: none;
    -webkit-text-fill-color: currentColor !important;
}

.launchpad-topbar .dropdown-user-link::after { margin-left: .12rem; color: #8292aa; transform: scale(.72); }

.launchpad-topbar .nav-admin > .launchpad-new-menu > .nav-link {
    width: auto;
    min-width: 76px;
    gap: .5rem;
    padding: 0 .8rem !important;
    border-radius: 10px;
    font-weight: 700;
    cursor: pointer;
}

.launchpad-topbar .launchpad-new-menu .dropdown-menu {
    position: absolute;
    top: 100%;
    right: 0;
    left: auto;
    min-width: 230px;
    padding: .45rem;
    margin-top: .7rem;
    border: 1px solid #314158;
    border-radius: 14px;
    background: #151f30;
    box-shadow: 0 16px 36px rgba(2, 6, 23, .28);
}

.launchpad-topbar .launchpad-new-menu .dropdown-item {
    display: flex;
    align-items: center;
    gap: .75rem;
    padding: .7rem .8rem;
    border-radius: 8px;
    color: #f4f7fb !important;
    font-weight: 600;
}

.launchpad-topbar .launchpad-new-menu .dropdown-item i {
    width: 20px;
    text-align: center;
    color: #aeb9c9;
}

.launchpad-topbar .launchpad-new-menu .dropdown-item:hover,
.launchpad-topbar .launchpad-new-menu .dropdown-item:focus {
    background: rgba(91, 140, 255, .16);
    color: #ffffff !important;
}

@media (max-width: 767px) {
    .launchpad-topbar .launchpad-new-menu .dropdown-menu {
        right: auto;
        left: 0;
    }
}
.launchpad-topbar .avatar { display: inline-flex; align-items: center; justify-content: center; }
.launchpad-topbar .avatar img { width: 28px; height: 28px; border: 2px solid rgba(255, 255, 255, .7); object-fit: cover; }
.launchpad-topbar .avatar > i { font-size: 1.3rem; }
.launchpad-topbar .dropdown-menu {
    margin-top: .65rem;
    padding: .45rem;
    border: 1px solid var(--lp-border);
    border-radius: .75rem;
    background: var(--lp-surface);
    box-shadow: var(--lp-shadow-overlay);
}
.launchpad-topbar .dropdown-item { border-radius: .5rem; color: var(--lp-text); font-size: .78rem; }
.launchpad-topbar .dropdown-item:hover { background: var(--lp-accent-soft); color: var(--lp-link); }

.launchpad-topbar__toggle {
    width: 40px;
    height: 40px;
    padding: 0;
    border: 1px solid rgba(148, 163, 184, .24) !important;
    border-radius: var(--lp-radius-control);
    color: #ffffff !important;
    background: rgba(255, 255, 255, .05) !important;
    font-size: 1rem;
}

/* Company workspace rail. */
#sidebarNav.launchpad-sidebar {
    --lp-sidebar-width: 276px;
    display: flex;
    align-self: flex-start;
    flex: 0 0 var(--lp-sidebar-width);
    flex-direction: column;
    width: var(--lp-sidebar-width);
    max-width: var(--lp-sidebar-width);
    height: calc(100vh - 68px);
    min-height: calc(100vh - 68px);
    padding: 0;
    border: 0 !important;
    border-right: 1px solid var(--lp-border) !important;
    background: var(--lp-surface);
    color: var(--lp-text);
    font-family: var(--lp-font);
    position: sticky;
    top: 68px;
    z-index: 1010;
    overflow: hidden;
    transition: width .24s ease, max-width .24s ease, flex-basis .24s ease, transform .24s ease;
}

#mainContent {
    flex: 1 1 0;
    width: calc(100% - 276px);
    max-width: calc(100% - 276px);
    min-width: 0;
}

.launchpad-sidebar__intro {
    padding: 1.2rem 1rem .7rem;
}
.launchpad-sidebar__intro span {
    display: block;
    margin-bottom: .2rem;
    color: var(--lp-link);
    font-size: .64rem;
    font-weight: var(--lp-weight-bold);
    letter-spacing: .11em;
    text-transform: uppercase;
}
.launchpad-sidebar__intro strong {
    color: var(--lp-text);
    font-size: .92rem;
    font-weight: var(--lp-weight-bold);
}

.launchpad-sidebar__search { padding: 0 1rem 1rem; }
.launchpad-sidebar__search > label {
    display: block;
    margin-bottom: .38rem;
    color: var(--lp-muted);
    font-size: .68rem;
    font-weight: var(--lp-weight-semibold);
}
.launchpad-sidebar__search-control { position: relative; }
.launchpad-sidebar__search-control > i {
    position: absolute;
    top: 50%;
    left: .8rem;
    z-index: 1;
    color: var(--lp-muted);
    font-size: .72rem;
    transform: translateY(-50%);
    pointer-events: none;
}
#sidebarNav.launchpad-sidebar #search {
    height: 40px;
    margin: 0;
    padding: .55rem 2.25rem .55rem 2.15rem;
    border: 1px solid var(--lp-control-border);
    border-radius: var(--lp-radius-control);
    background: var(--lp-input);
    color: var(--lp-text);
    font-size: .75rem;
}
#sidebarNav.launchpad-sidebar #search::placeholder { color: var(--lp-muted); }
#sidebarNav.launchpad-sidebar #search:focus { border-color: var(--lp-focus); box-shadow: 0 0 0 3px color-mix(in srgb, var(--lp-focus) 14%, transparent); }
#sidebarSearchClear {
    position: absolute;
    top: 50%;
    right: .35rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    padding: 0;
    border: 0;
    border-radius: .45rem;
    background: transparent;
    color: var(--lp-muted);
    font-size: .7rem;
    transform: translateY(-50%);
}
#sidebarSearchClear:hover { background: var(--lp-accent-soft); color: var(--lp-link); }

.launchpad-sidebar__nav {
    flex: 1 1 auto;
    min-height: 0;
    padding: .15rem .55rem .8rem;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-color: color-mix(in srgb, var(--lp-muted) 36%, transparent) transparent;
    scrollbar-width: thin;
}
#sidebarNav.launchpad-sidebar .accordion { margin: 0; padding: 0; }
#sidebarNav.launchpad-sidebar .accordion > li { margin: .14rem 0; }
#sidebarNav.launchpad-sidebar .accordion li { list-style: none; }

#sidebarNav.launchpad-sidebar .accordion > li > a.navbar-brand {
    position: relative;
    display: flex;
    align-items: center;
    gap: .7rem;
    min-height: 44px;
    width: 100%;
    margin: 0;
    padding: .44rem .56rem;
    border: 1px solid transparent;
    border-radius: .7rem;
    background: transparent !important;
    color: var(--lp-muted) !important;
    font-size: .78rem;
    font-weight: var(--lp-weight-semibold);
    line-height: 1.25;
    text-decoration: none;
    white-space: normal;
    transition: background-color var(--lp-motion-fast) var(--lp-motion-ease), color var(--lp-motion-fast) var(--lp-motion-ease), border-color var(--lp-motion-fast) var(--lp-motion-ease);
}

#sidebarNav.launchpad-sidebar .accordion > li > a.navbar-brand > i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 32px;
    width: 32px !important;
    min-width: 32px;
    height: 32px !important;
    margin: 0 !important;
    border-radius: .58rem;
    background: var(--lp-surface-soft);
    color: var(--lp-muted);
    font-size: .76rem;
    object-fit: contain;
}

#sidebarNav.launchpad-sidebar .launchpad-sidebar__nexus-icon {
    --nexus-ai-icon-size: 16px;
}

#sidebarNav.launchpad-sidebar .launchpad-sidebar__nexus-icon > img {
    flex: 0 0 auto;
    margin: 0 !important;
    padding: 0;
}

#sidebarNav.launchpad-sidebar .accordion > li > a.navbar-brand:hover,
#sidebarNav.launchpad-sidebar .accordion > li > a.navbar-brand:focus-visible {
    border-color: var(--lp-border);
    background: var(--lp-surface-soft) !important;
    color: var(--lp-text) !important;
}
#sidebarNav.launchpad-sidebar .accordion > li > a.navbar-brand:hover > i { color: var(--lp-link); background: var(--lp-accent-soft); }

#sidebarNav.launchpad-sidebar .accordion > li.active > a.navbar-brand,
#sidebarNav.launchpad-sidebar .accordion > li:has(.inner li.active) > a.navbar-brand {
    border-color: color-mix(in srgb, var(--lp-link) 18%, var(--lp-border));
    background: var(--lp-accent-soft) !important;
    color: var(--lp-link) !important;
    box-shadow: inset 3px 0 0 var(--lp-action);
}
#sidebarNav.launchpad-sidebar .accordion > li.active > a.navbar-brand > i,
#sidebarNav.launchpad-sidebar .accordion > li:has(.inner li.active) > a.navbar-brand > i {
    background: var(--lp-action);
    color: var(--lp-on-action);
}

#sidebarNav.launchpad-sidebar a.toggle::after {
    content: "";
    flex: 0 0 auto;
    width: .42rem;
    height: .42rem;
    margin-right: .18rem;
    margin-left: auto;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    color: var(--lp-muted);
    transform: rotate(-45deg);
    transform-origin: center;
    transition: color var(--lp-motion-fast) var(--lp-motion-ease), transform var(--lp-motion-fast) var(--lp-motion-ease);
}
#sidebarNav.launchpad-sidebar a.toggle:hover::after,
#sidebarNav.launchpad-sidebar a.toggle:focus-visible::after { color: var(--lp-link); }
#sidebarNav.launchpad-sidebar a.toggle.is-open::after { transform: rotate(45deg) translate(-1px, -1px); }

#sidebarNav.launchpad-sidebar ul.inner {
    margin: .22rem 0 .5rem 1rem;
    padding: .15rem 0 .15rem .8rem;
    border-left: 1px solid var(--lp-border);
}
#sidebarNav.launchpad-sidebar ul.inner li { margin: .08rem 0; }
#sidebarNav.launchpad-sidebar ul.inner a.navbar-brand {
    display: flex;
    align-items: center;
    gap: .45rem;
    min-height: 34px;
    width: 100%;
    margin: 0;
    padding: .46rem .6rem !important;
    border-radius: .52rem;
    background: transparent !important;
    color: var(--lp-muted) !important;
    font-size: .7rem;
    font-weight: var(--lp-weight-medium);
    line-height: 1.35;
    text-decoration: none;
    white-space: normal;
}
#sidebarNav.launchpad-sidebar ul.inner a.navbar-brand i { width: .9rem; min-width: .9rem; margin: 0; color: inherit; font-size: .66rem; text-align: center; }
#sidebarNav.launchpad-sidebar ul.inner a.navbar-brand:hover { background: var(--lp-surface-soft) !important; color: var(--lp-text) !important; }
#sidebarNav.launchpad-sidebar ul.inner li.active > a.navbar-brand { background: var(--lp-accent-soft) !important; color: var(--lp-link) !important; font-weight: var(--lp-weight-semibold); }
#sidebarNav.launchpad-sidebar .nav-sub-toggle { padding: .5rem .6rem !important; color: var(--lp-muted) !important; font-size: .62rem; letter-spacing: .08em; }
#sidebarNav.launchpad-sidebar .nav-sub-menu { margin-left: .4rem; padding-left: .45rem; }
#sidebarNav.launchpad-sidebar .nav-sub-menu .navbar-brand { padding-left: .6rem !important; }

.launchpad-sidebar__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex: 0 0 auto;
    min-height: 58px;
    padding: .65rem 1rem;
    border-top: 1px solid var(--lp-border);
    background: var(--lp-surface-soft);
}
.launchpad-sidebar__footer span { color: var(--lp-muted); font-size: .68rem; font-weight: var(--lp-weight-semibold); }
#sidebarNav .collapse-sidebar-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    margin: 0;
    padding: 0;
    border: 1px solid var(--lp-border);
    border-radius: .55rem;
    background: var(--lp-surface);
    color: var(--lp-muted);
    font-size: .72rem;
}
#sidebarNav .collapse-sidebar-btn:hover { border-color: var(--lp-link); color: var(--lp-link); background: var(--lp-accent-soft); }

.launchpad-sidebar-toggle {
    position: fixed;
    top: 78px;
    left: 1rem;
    z-index: 1025;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    padding: 0;
    border: 1px solid var(--lp-border);
    border-radius: .7rem;
    background: var(--lp-surface);
    color: var(--lp-link);
    box-shadow: var(--lp-shadow-overlay);
}

body.sidebar-collapsed #sidebarNav.launchpad-sidebar {
    flex-basis: 72px;
    width: 72px;
    max-width: 72px;
}
body.sidebar-collapsed #sidebarNav .launchpad-sidebar__intro,
body.sidebar-collapsed #sidebarNav .launchpad-sidebar__search,
body.sidebar-collapsed #sidebarNav .launchpad-sidebar__footer > span { display: none !important; }
body.sidebar-collapsed #sidebarNav .launchpad-sidebar__nav { padding: .7rem .45rem; }
body.sidebar-collapsed #sidebarNav .accordion > li > a.navbar-brand { justify-content: center; padding: .38rem; }
body.sidebar-collapsed #sidebarNav .accordion > li > a.navbar-brand::after { display: none; }
body.sidebar-collapsed #sidebarNav .launchpad-sidebar__footer { justify-content: center; padding: .65rem; }

html.dark-mode #sidebarNav.launchpad-sidebar {
    border-right-color: #243041 !important;
    background: #111b2e !important;
}
html.dark-mode .launchpad-sidebar__footer { border-color: #243041; background: #0f192b; }
html.dark-mode #sidebarNav .collapse-sidebar-btn { border-color: #32415a; background: #18253a; color: #b8c4d8; }
html.dark-mode #sidebarNav.launchpad-sidebar .accordion > li > a.navbar-brand > i { background: #18253a; }
html.dark-mode #sidebarNav.launchpad-sidebar .accordion > li > a.navbar-brand:hover { border-color: #2b3a52; background: #18253a !important; }
html.dark-mode #sidebarNav.launchpad-sidebar ul.inner { border-color: #2a3850; }
html.dark-mode #sidebarNav.launchpad-sidebar ul.inner a.navbar-brand:hover { background: #18253a !important; }

@media (min-width: 1200px) {
    .launchpad-topbar .header-nav .nav-text { display: inline !important; }
}

@media (min-width: 768px) and (max-width: 1199.98px) {
    .launchpad-topbar { padding-inline: .8rem; }
    .launchpad-topbar__brand { flex-basis: 190px; }
    .launchpad-topbar .launchpad-topbar__logo .launch365-logo { width: 155px; }
    .launchpad-topbar .header-nav .nav-link { width: 38px; padding-inline: 0 !important; }
    .launchpad-topbar .header-nav .nav-text { display: none !important; }
    .launchpad-topbar__actions { margin-left: .35rem; padding-left: .55rem; }
}

@media (max-width: 767.98px) {
    .launchpad-topbar { position: sticky; min-height: 60px; padding: 0 .9rem; }
    .launchpad-topbar .launchpad-topbar__inner { flex-wrap: wrap; min-height: 60px; gap: 0; padding: .35rem 0; }
    .launchpad-topbar__brand { flex: 1 1 auto; }
    .launchpad-topbar .launchpad-topbar__logo .launch365-logo { width: 145px; }
    .launchpad-topbar .agency-navbar-logo { max-width: 150px; max-height: 44px; }
    .launchpad-topbar__toggle { display: inline-flex; align-items: center; justify-content: center; }
    .launchpad-topbar__collapse { flex: 0 0 100%; padding: .65rem 0 .45rem; border-top: 1px solid rgba(148, 163, 184, .16); }
    .launchpad-topbar__primary { width: 100%; }
    .launchpad-topbar .header-nav { align-items: stretch; flex-direction: column; gap: .2rem; max-height: min(56vh, 28rem); overflow-y: auto; }
    .launchpad-topbar .header-nav .nav-link { justify-content: flex-start; width: 100%; padding: .7rem .8rem !important; }
    .launchpad-topbar .header-nav .nav-text { display: inline !important; }
    .launchpad-topbar__actions { justify-content: flex-start; margin: .6rem 0 0; padding: .6rem 0 0; border-top: 1px solid rgba(148, 163, 184, .16); border-left: 0; }
    #sidebarNav.launchpad-sidebar {
        position: fixed;
        top: 60px;
        left: 0;
        z-index: 1020;
        width: min(88vw, 320px);
        max-width: min(88vw, 320px);
        height: calc(100vh - 60px);
        min-height: calc(100vh - 60px);
        box-shadow: 18px 0 42px rgba(2, 6, 23, .2);
    }
    #mainContent,
    body.sidebar-collapsed #mainContent { flex: 0 0 100%; width: 100%; max-width: 100%; }
    .launchpad-sidebar-toggle { top: 72px; }
}

@media (prefers-reduced-motion: reduce) {
    .launchpad-topbar *,
    .launchpad-sidebar,
    .launchpad-sidebar * { transition: none !important; animation: none !important; }
}
