:root { --shell-bg: #f3f5f9; --shell-sidebar: #08142f; --shell-topbar-height: 56px; --shell-rail-closed: 44px; --shell-rail-open: 190px; } body { background: var(--shell-bg); } .app-shell { min-height: 100vh; } .sidebar { position: fixed !important; top: 0 !important; left: 0 !important; bottom: 0 !important; width: var(--shell-rail-closed) !important; background: var(--shell-sidebar) !important; color: #e5e7eb !important; overflow-x: hidden !important; overflow-y: auto !important; padding: 0.75rem 0.35rem 1rem 0.35rem !important; z-index: 1000 !important; transition: width 0.18s ease !important; } .app-shell.nav-open .sidebar { width: var(--shell-rail-open) !important; } .brand, .sidebar-section-title, .nav-link-text { display: none !important; } .app-shell.nav-open .brand, .app-shell.nav-open .sidebar-section-title, .app-shell.nav-open .nav-link-text { display: initial !important; } .app-shell:not(.nav-open) .nav-link { justify-content: center !important; } .global-topbar { position: fixed !important; top: 0 !important; left: 0 !important; right: 0 !important; min-height: var(--shell-topbar-height) !important; display: flex !important; align-items: center !important; justify-content: flex-end !important; gap: 1rem !important; padding: 0.5rem 0.75rem 0.5rem 0.5rem !important; background: var(--shell-sidebar) !important; border-bottom: 1px solid rgba(255,255,255,0.08) !important; z-index: 900 !important; } .global-topbar-left { display: none !important; } .global-topbar-right { margin-left: auto !important; display: flex !important; align-items: center !important; justify-content: flex-end !important; gap: 0.5rem !important; } .global-topbar-user { display: flex !important; flex-direction: column !important; align-items: flex-end !important; white-space: nowrap !important; line-height: 1.1 !important; } .global-topbar-name, .global-topbar-username { color: #fff !important; white-space: nowrap !important; } .global-topbar-logout { appearance: none !important; border: 1px solid rgba(255,255,255,0.14) !important; background: rgba(255,255,255,0.10) !important; color: #fff !important; border-radius: 10px !important; padding: 0.45rem 0.75rem !important; cursor: pointer !important; font: inherit !important; } .main { margin-left: var(--shell-rail-closed) !important; width: calc(100vw - var(--shell-rail-closed)) !important; min-height: 100vh !important; padding: calc(var(--shell-topbar-height) + 1rem) 1rem 1rem 1rem !important; box-sizing: border-box !important; background: var(--shell-bg) !important; } .app-shell.nav-open .main { margin-left: var(--shell-rail-open) !important; width: calc(100vw - var(--shell-rail-open)) !important; } .main-content { width: 100% !important; max-width: 1400px !important; min-width: 0 !important; } @media (max-width: 700px) { .global-topbar-username { display: none !important; } .main { padding: calc(var(--shell-topbar-height) + 1rem) 0.75rem 0.75rem 0.75rem !important; } } /* ===== mobile shell scaling tune ===== */ @media (max-width: 900px) { :root { --shell-topbar-height: 46px; --shell-rail-closed: 34px; } .sidebar { padding: 0.5rem 0.2rem 0.75rem 0.2rem !important; } .sidebar-toggle { width: 20px !important; height: 15px !important; flex: 0 0 20px !important; } .sidebar-top { min-height: 30px !important; margin-bottom: 0.65rem !important; padding: 0 0.35rem !important; } .nav-list { gap: 0.2rem !important; } .nav-link { padding: 0.55rem 0.3rem !important; border-radius: 9px !important; } .nav-link-short { font-size: 0.72rem !important; min-width: 0.8rem !important; } .main { padding: calc(var(--shell-topbar-height) + 0.55rem) 0.55rem 0.7rem 0.55rem !important; } .global-topbar { min-height: var(--shell-topbar-height) !important; padding: 0.3rem 0.55rem 0.3rem 0.45rem !important; } .global-topbar-right { gap: 0.3rem !important; max-width: calc(100vw - 3rem) !important; } .global-topbar-user { line-height: 1 !important; } .global-topbar-name { font-size: 0.7rem !important; } .global-topbar-username { font-size: 0.58rem !important; } .global-topbar-logout { padding: 0.28rem 0.55rem !important; border-radius: 8px !important; font-size: 0.82rem !important; } .global-topbar .badge { padding: 0.18rem 0.42rem !important; font-size: 0.62rem !important; } } /* ===== end mobile shell scaling tune ===== */ /* ===== mobile topbar normalize ===== */ @media (max-width: 900px) { :root { --shell-topbar-height: 42px; --shell-rail-closed: 34px; } .global-topbar { min-height: var(--shell-topbar-height) !important; padding: 0.22rem 0.45rem 0.22rem 0.38rem !important; } .global-topbar-right { gap: 0.22rem !important; align-items: center !important; flex-wrap: nowrap !important; overflow: visible !important; } .global-topbar-user { display: flex !important; flex-direction: column !important; align-items: flex-end !important; line-height: 1 !important; min-width: 0 !important; } .global-topbar-name { font-size: 0.68rem !important; line-height: 1 !important; font-weight: 700 !important; } .global-topbar-username { display: block !important; font-size: 0.54rem !important; line-height: 1 !important; opacity: 0.95 !important; margin-top: 0.08rem !important; } .global-topbar .badge { display: inline-flex !important; align-items: center !important; justify-content: center !important; font-size: 0.58rem !important; padding: 0.14rem 0.34rem !important; border-radius: 999px !important; white-space: nowrap !important; } .global-topbar-logout { font-size: 0.72rem !important; padding: 0.22rem 0.46rem !important; min-height: 0 !important; border-radius: 10px !important; white-space: nowrap !important; } } /* ===== end mobile topbar normalize ===== */ /* ===== mobile topbar pass 2 ===== */ @media (max-width: 900px) { :root { --shell-topbar-height: 38px; --shell-rail-closed: 34px; } .global-topbar { min-height: var(--shell-topbar-height) !important; padding: 0.14rem 0.35rem 0.14rem 0.3rem !important; } .global-topbar-right { gap: 0.18rem !important; align-items: center !important; flex-wrap: nowrap !important; } .global-topbar-user { display: flex !important; flex-direction: column !important; align-items: flex-end !important; justify-content: center !important; line-height: 1 !important; } .global-topbar-name { font-size: 0.63rem !important; line-height: 1 !important; margin: 0 !important; } .global-topbar-username { display: block !important; font-size: 0.49rem !important; line-height: 1 !important; margin-top: 0.05rem !important; opacity: 0.95 !important; } .global-topbar .badge { font-size: 0.54rem !important; line-height: 1 !important; padding: 0.12rem 0.28rem !important; min-height: 0 !important; } .global-topbar-logout { font-size: 0.66rem !important; line-height: 1 !important; padding: 0.18rem 0.38rem !important; min-height: 1.7rem !important; border-radius: 999px !important; } } /* ===== end mobile topbar pass 2 ===== */ /* ===== mobile content offset fix ===== */ @media (max-width: 900px) { .main { padding-top: calc(var(--shell-topbar-height) + 0.95rem) !important; } .main-content { padding-top: 0.15rem !important; } .global-topbar { z-index: 1001 !important; } } /* ===== end mobile content offset fix ===== */ /* ===== dedicated mobile nav button ===== */ .mobile-nav-toggle { display: none; } @media (max-width: 900px) { .sidebar-toggle { display: none !important; } .mobile-nav-toggle { display: flex !important; position: fixed !important; top: 0.55rem !important; left: 0.55rem !important; z-index: 1300 !important; width: 28px !important; height: 22px !important; padding: 0 !important; margin: 0 !important; border: 0 !important; background: transparent !important; box-shadow: none !important; border-radius: 0 !important; flex-direction: column !important; justify-content: space-between !important; align-items: stretch !important; min-height: 0 !important; } .mobile-nav-toggle span { display: block !important; width: 100% !important; height: 3px !important; border-radius: 999px !important; background: #cbd5e1 !important; } .sidebar { padding-top: 2.6rem !important; } } /* ===== end dedicated mobile nav button ===== */ /* ===== mobile nav refine ===== */ @media (max-width: 900px) { :root { --shell-topbar-height: 38px; --shell-rail-closed: 32px; } .mobile-nav-toggle { top: 0.8rem !important; left: 0.42rem !important; width: 22px !important; height: 16px !important; z-index: 1300 !important; } .mobile-nav-toggle span { height: 2px !important; background: #dbe4f0 !important; } .sidebar { width: var(--shell-rail-closed) !important; padding-top: 3.2rem !important; padding-left: 0.12rem !important; padding-right: 0.12rem !important; } .app-shell.nav-open .sidebar { width: 170px !important; } .nav-list { gap: 0.16rem !important; } .nav-link { padding: 0.46rem 0.18rem !important; border-radius: 10px !important; } .nav-link-short { font-size: 0.66rem !important; } .main { padding-top: calc(var(--shell-topbar-height) + 0.85rem) !important; padding-left: 0.45rem !important; padding-right: 0.45rem !important; padding-bottom: 0.6rem !important; } .global-topbar { padding-left: 2.45rem !important; padding-right: 0.32rem !important; } .global-topbar-name { font-size: 0.61rem !important; } .global-topbar-username { font-size: 0.47rem !important; } .global-topbar .badge { font-size: 0.5rem !important; padding: 0.1rem 0.26rem !important; } .global-topbar-logout { font-size: 0.63rem !important; padding: 0.16rem 0.34rem !important; min-height: 1.55rem !important; } } /* ===== end mobile nav refine ===== */ /* ===== mobile refine 3 ===== */ @media (max-width: 900px) { :root { --shell-topbar-height: 36px; --shell-rail-closed: 28px; } .mobile-nav-toggle { top: 0.72rem !important; left: 0.34rem !important; width: 20px !important; height: 15px !important; } .sidebar { width: var(--shell-rail-closed) !important; padding-top: 3.05rem !important; padding-left: 0.08rem !important; padding-right: 0.08rem !important; } .app-shell.nav-open .sidebar { width: 158px !important; } .nav-link { padding: 0.4rem 0.12rem !important; border-radius: 9px !important; } .nav-link-short { font-size: 0.62rem !important; } .main { padding-top: calc(var(--shell-topbar-height) + 0.8rem) !important; padding-left: 0.8rem !important; padding-right: 0.42rem !important; padding-bottom: 0.55rem !important; } .global-topbar { padding-left: 2.15rem !important; padding-right: 0.28rem !important; } .global-topbar-name { font-size: 0.58rem !important; } .global-topbar-username { font-size: 0.44rem !important; } .global-topbar .badge { font-size: 0.47rem !important; padding: 0.08rem 0.22rem !important; } .global-topbar-logout { font-size: 0.58rem !important; padding: 0.14rem 0.3rem !important; min-height: 1.42rem !important; } } /* ===== end mobile refine 3 ===== */ /* ===== mobile overlap/layout fix ===== */ @media (max-width: 900px) { :root { --shell-topbar-height: 44px; --shell-rail-closed: 26px; } .mobile-nav-toggle { top: 0.82rem !important; left: 0.34rem !important; width: 20px !important; height: 15px !important; } .sidebar { width: var(--shell-rail-closed) !important; padding-top: 3.2rem !important; padding-left: 0.06rem !important; padding-right: 0.06rem !important; } .app-shell.nav-open .sidebar { width: 154px !important; } .nav-link { padding: 0.34rem 0.08rem !important; border-radius: 8px !important; } .nav-link-short { font-size: 0.58rem !important; } .main { padding-top: calc(var(--shell-topbar-height) + 1.15rem) !important; padding-left: 0.95rem !important; padding-right: 0.42rem !important; padding-bottom: 0.55rem !important; } .main-content { padding-top: 0.28rem !important; } .global-topbar { min-height: var(--shell-topbar-height) !important; padding-top: 0.16rem !important; padding-bottom: 0.16rem !important; padding-left: 2.25rem !important; padding-right: 0.28rem !important; } .global-topbar-name { font-size: 0.58rem !important; } .global-topbar-username { font-size: 0.44rem !important; } .global-topbar .badge { font-size: 0.47rem !important; padding: 0.08rem 0.22rem !important; } .global-topbar-logout { font-size: 0.58rem !important; padding: 0.14rem 0.3rem !important; min-height: 1.42rem !important; } } /* ===== end mobile overlap/layout fix ===== */ /* ===== mobile side gap tighten ===== */ @media (max-width: 900px) { .main { padding-left: 0.38rem !important; padding-right: 0.18rem !important; } .main-content { padding-left: 0 !important; padding-right: 0 !important; } .detail-sticky-header, .workspace-grid, .detail-view-mode-bar, .card { margin-left: 0 !important; margin-right: 0 !important; } } /* ===== end mobile side gap tighten ===== */ /* ===== mobile topbar trim ===== */ @media (max-width: 900px) { :root { --shell-topbar-height: 38px; } .global-topbar { min-height: var(--shell-topbar-height) !important; padding-top: 0.08rem !important; padding-bottom: 0.08rem !important; padding-left: 2.1rem !important; padding-right: 0.22rem !important; } .mobile-nav-toggle { top: 0.62rem !important; } .main { padding-top: calc(var(--shell-topbar-height) + 0.85rem) !important; } .global-topbar-right { gap: 0.14rem !important; } } /* ===== end mobile topbar trim ===== */ /* ===== mobile topbar blue height fix ===== */ @media (max-width: 900px) { :root { --shell-topbar-height: 30px; } .global-topbar { height: var(--shell-topbar-height) !important; min-height: var(--shell-topbar-height) !important; max-height: var(--shell-topbar-height) !important; padding-top: 0 !important; padding-bottom: 0 !important; padding-left: 2.1rem !important; padding-right: 0.22rem !important; display: flex !important; align-items: center !important; } .global-topbar-right { height: 100% !important; display: flex !important; align-items: center !important; gap: 0.14rem !important; } .global-topbar-user { display: flex !important; flex-direction: column !important; justify-content: center !important; line-height: 1 !important; } .global-topbar-name { font-size: 0.56rem !important; line-height: 1 !important; margin: 0 !important; } .global-topbar-username { font-size: 0.42rem !important; line-height: 1 !important; margin-top: 0.02rem !important; } .global-topbar .badge { font-size: 0.45rem !important; padding: 0.06rem 0.2rem !important; line-height: 1 !important; } .global-topbar-logout { font-size: 0.56rem !important; padding: 0.12rem 0.28rem !important; min-height: 1.3rem !important; line-height: 1 !important; } .mobile-nav-toggle { top: 0.48rem !important; } .main { padding-top: calc(var(--shell-topbar-height) + 1.0rem) !important; } .sidebar { padding-top: 2.7rem !important; } } /* ===== end mobile topbar blue height fix ===== */ /* ===== mobile logout tune ===== */ @media (max-width: 900px) { .global-topbar-logout { font-size: 0.52rem !important; line-height: 1 !important; padding: 0.08rem 0.24rem !important; min-height: 1.1rem !important; border-radius: 999px !important; border: 1px solid rgba(255,255,255,0.12) !important; box-shadow: none !important; } .global-topbar .badge { font-size: 0.43rem !important; padding: 0.05rem 0.18rem !important; } .global-topbar-name { font-size: 0.54rem !important; } .global-topbar-username { font-size: 0.4rem !important; } .global-topbar-right { gap: 0.1rem !important; } } /* ===== end mobile logout tune ===== */ /* ===== mobile header gap + logout square ===== */ @media (max-width: 900px) { .global-topbar-logout { border-radius: 10px !important; padding: 0.1rem 0.24rem !important; min-height: 1.08rem !important; } .main { padding-top: calc(var(--shell-topbar-height) + 0.55rem) !important; } .main-content { padding-top: 0.02rem !important; } } /* ===== end mobile header gap + logout square ===== */ /* ===== mobile rail cover fix ===== */ @media (max-width: 900px) { .sidebar { background: #04163a !important; box-shadow: 2px 0 0 #04163a !important; z-index: 1205 !important; } .mobile-nav-toggle { z-index: 1305 !important; } .global-topbar { z-index: 1200 !important; } .main { position: relative !important; z-index: 1 !important; } } /* ===== end mobile rail cover fix ===== */ /* ===== mobile left offset fix ===== */ @media (max-width: 900px) { .main { padding-left: 1.15rem !important; } .main-content { margin-left: 0.1rem !important; } } /* ===== end mobile left offset fix ===== */ /* ===== mobile sidebar brand cleanup ===== */ @media (max-width: 900px) { .brand, .sidebar-section-title { display: none !important; visibility: hidden !important; opacity: 0 !important; max-height: 0 !important; overflow: hidden !important; } .sidebar { overflow-x: hidden !important; } .app-shell.nav-open .sidebar { width: 154px !important; } .app-shell:not(.nav-open) .nav-link-text, .app-shell:not(.nav-open) .brand, .app-shell:not(.nav-open) .sidebar-section-title { display: none !important; } } /* ===== end mobile sidebar brand cleanup ===== */ /* ===== mobile side letters raise ===== */ @media (max-width: 900px) { .sidebar { padding-top: 2.35rem !important; } .nav-list { margin-top: -0.18rem !important; } .nav-link { padding-top: 0.28rem !important; padding-bottom: 0.28rem !important; } } /* ===== end mobile side letters raise ===== */ /* ===== mobile side letters nudge up ===== */ @media (max-width: 900px) { .sidebar { padding-top: 2.05rem !important; } .nav-list { margin-top: -0.08rem !important; } } /* ===== end mobile side letters nudge up ===== */ /* ===== mobile hamburger-to-letters gap tighten ===== */ @media (max-width: 900px) { .sidebar { padding-top: 1.52rem !important; } .nav-list { margin-top: -0.28rem !important; gap: 0.08rem !important; } } /* ===== end mobile hamburger-to-letters gap tighten ===== */ /* ===== mobile shell typography normalize ===== */ @media (max-width: 900px) { .nav-link-short { font-size: 0.72rem !important; line-height: 1 !important; font-weight: 600 !important; } .global-topbar-name { font-size: 0.72rem !important; line-height: 1 !important; font-weight: 600 !important; } .global-topbar-username { font-size: 0.56rem !important; line-height: 1 !important; } .global-topbar .badge { font-size: 0.58rem !important; line-height: 1 !important; } .global-topbar-logout { font-size: 0.72rem !important; line-height: 1 !important; font-weight: 500 !important; } } /* ===== end mobile shell typography normalize ===== */ /* ===== mobile spacing pass ===== */ @media (max-width: 900px) { .sidebar { padding-top: 1.18rem !important; } .nav-list { margin-top: -0.42rem !important; gap: 0.02rem !important; } .nav-link { padding-top: 0.18rem !important; padding-bottom: 0.18rem !important; } .main { padding-top: calc(var(--shell-topbar-height) + 0.18rem) !important; padding-left: 0.62rem !important; padding-right: 0.10rem !important; padding-bottom: 0.50rem !important; } .main-content { padding-top: 0 !important; margin-top: 0 !important; margin-left: 0 !important; } } /* ===== end mobile spacing pass ===== */ /* ===== desktop app width fill ===== */ @media (min-width: 901px) { .main { padding-right: 0.6rem !important; } .main-content { max-width: none !important; width: calc(100vw - 4.8rem) !important; margin-right: 0 !important; padding-right: 0.6rem !important; } .app-shell.nav-open .main-content { width: calc(100vw - 14.6rem) !important; } } /* ===== end desktop app width fill ===== */