.app-nav { background: var(--color-box); width: 260px; color: var(--color-text); height: 100vh; display: grid; grid-template-rows: auto auto 1fr auto; box-shadow: var(--shadow-short); .theme-rounded & { height: calc(100vh - 20px); margin: 10px; margin-right: 0; border-radius: var(--radius); } } .app-nav-inner { overflow-y: auto; overflow-x: hidden; padding-top: 3px; margin-top: -3px; } .app-nav-headline { display: flex; align-items: center; padding: 0 var(--padding); padding-top: 4px; height: var(--height-top); margin: 5px 0 5px; .theme-rounded & { margin: 0; } img { height: 28px; margin-top: 10px; } } .app-nav-switch { padding: 16px var(--padding) 0; margin-bottom: 30px; .ui-button { padding-left: 20px; } } a.app-nav-item, button.app-nav-item { display: grid; grid-template-columns: 32px 1fr auto; gap: 6px; align-items: center; font-size: var(--font-size); padding: 0 var(--padding); height: 54px; color: var(--color-text); position: relative; &:hover { color: var(--color-text); //background: var(--color-tree-selected); .app-nav-item-icon { color: var(--color-text); } } &.is-active:not([alias="dashboard"]), &.is-active-exact { color: var(--color-text); background: var(--color-tree-selected); font-weight: 700; //border-right: 3px solid var(--color-primary); .app-nav-item-icon { color: var(--color-primary); } .app-nav-item-arrow { transform: rotate(180deg); } &:before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 3px; display: inline-block; background: var(--color-tree-selected-line); } } } .app-nav-item-icon { font-size: 18px; line-height: 1; font-weight: 400; position: relative; top: -2px; color: var(--color-text-dim); transition: color 0.2s ease; } .app-nav-item-arrow { color: var(--color-text-dim); } .app-nav-children { padding: 5px 0 10px; } a.app-nav-child { display: flex; align-items: center; font-size: var(--font-size); padding: 0 var(--padding) 0 calc(var(--padding) + 36px); height: 40px; color: var(--color-text-dim); &:hover, &.is-active { color: var(--color-text); } &.is-active { font-weight: 700; } } .app-nav-children-enter-active { transition: all .3s ease; } .app-nav-children-leave-active { transition: all 0; } .app-nav-children-enter, .app-nav-children-leave-to { transform: translateX(10px); opacity: 0; } // account .app-nav-account { padding: var(--padding); } .app-nav-account-button { display: grid; width: 100%; grid-template-columns: auto minmax(auto, 1fr) auto; gap: 16px; color: var(--color-text-dim); align-items: center; .-image { height: 32px; width: 32px; border-radius: 18px; position: relative; top: -1px; background: var(--color-bg-shade-3); text-align: center; line-height: 33px; font-size: 16px; overflow: hidden; color: transparent; } .-text { font-weight: 400; margin: 0; strong { font-weight: 700; color: var(--color-text); } } } /* COMPACT MODE */ .app-nav.is-compact { width: 82px; .app-nav-headline { width: 100%; overflow: hidden; padding-left: 0; padding-right: 0; img { margin-left: 29px; clip-path: circle(23.78% at 13px 14px); min-width: 118px; } } .app-nav-switch { visibility: hidden; pointer-events: none; opacity: 0; width: 100%; overflow: hidden; padding: 16px 0 0; } a.app-nav-item, button.app-nav-item { display: flex; //height: 60px; &:hover + .app-nav-children { display: block; } } .app-nav-item-text, .app-nav-item-arrow { display: none; } .app-nav-children { display: none; position: absolute; z-index: 8; min-width: 240px; min-height: 20px; background: var(--color-dropdown); border-radius: var(--radius); border-top-left-radius: 0; border-bottom-left-radius: 0; border: 1px solid var(--color-dropdown-border); box-shadow: var(--shadow-dropdown); padding: 5px; color: var(--color-text); margin-left: 82px; margin-top: -50px; &:hover { display: block; } } a.app-nav-child { padding: 0 var(--padding); display: grid; width: 100%; grid-template-columns: minmax(0, 1fr) auto; gap: 6px; align-items: center; font-size: var(--font-size); padding: 0 16px; height: 48px; color: var(--color-text-dim); border-radius: var(--radius); white-space: nowrap; text-overflow: ellipsis; overflow: hidden; max-width: 100%; &:not([disabled]):hover, &:focus { background: var(--color-dropdown-selected); } &.is-active { color: var(--color-text); font-weight: 700; } } .app-nav-account { padding: 0; margin-bottom: var(--padding); margin-left: 25px; } .app-nav-account-button { display: block; width: 32px; .-text, .-arrow { display: none; } } }